传送门:

http://acm.hdu.edu.cn/showproblem.php?pid=2098

分拆素数和

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 46434    Accepted Submission(s): 20210

Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
 
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
 
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
 
Sample Input
30
26
0
 
Sample Output
3
2
 
Source
 分析:
偶数可以对半开,所以外面只需要判断偶数的一半有多少种拆分方法就可以了
因为后面的一半和前面的一半是重复的
比如30拆分:13和17 17和13
是同一个拆分
注意特殊情况
26
26/2=13
13是素数
所以计算变量需要减1
code:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int f(int x)//判断素数
{
if(x==)
return ;
for(int i=;i<=sqrt(x);i++)
{
if(x%i==)
return ;
}
return ;
}
int main()
{
int n;
while(~scanf("%d",&n))
{
if(n==)
break;
n=n/;//偶数对半开
int c=;
for(int i=;i<=n;i++)//一个数
{
int j=*n-i;//另一个数 二者之间是和的关系
if(f(i)==&&f(j)==)
{
c++;//都是素数计算器加一
}
}
if(f(n)==)//特殊情况 比如 13 13
c--;
printf("%d\n",c);
}
return ;
}

最新文章

  1. 深入理解CSS3 Animation 帧动画
  2. CYQ.Data 批量添加数据性能测试(每秒千、万)
  3. 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
  4. POJ1703Find them, Catch them
  5. mysql事件
  6. java.net.BindException: Address already in use: bind
  7. C#文本文件或其他文件新内容追加
  8. [C#参考]UI和线程(一)
  9. linux下expect命令实现批量ssh免密
  10. 下篇: php 微商城 基于Thinkphp3.2框架开发
  11. 原生JS封装时间运动函数
  12. 能不能在FOR循环中执行SQL?
  13. Confluence 6 链接到其他应用
  14. IniHelper
  15. MII、GMII、RMII、SGMII、XGMII 接口区别
  16. hdu1358 Period kmp求循环节
  17. Linux配置Python默认版本
  18. 项目总结14:Windows远程连接redis(cmd指令或PowerShell指令)
  19. 集成maven和Spring boot的profile功能
  20. 微信小程序——button, swiper等默认样式更改

热门文章

  1. javaweb带属性的自定义标签
  2. int btn = (Button) findViewById(View.getId());
  3. @media print样式 关于table断页
  4. IOC和DI到底是什么?
  5. 关于Sychronized和volatile自己总结的一点点理解(草稿)
  6. Safari无痕模式下,storage被禁用问题
  7. BZOJ3498: PA2009 Cakes(三元环)
  8. 教你小三角,适用移动端等,解决移动端a标签的默认样式
  9. Python爬虫教程-25-数据提取-BeautifulSoup4(三)
  10. PHP 调用web service接口(.net开发的接口)