分拆素数和

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

Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
 
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。
 
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
 
Sample Input
30
26
0
 
Sample Output
3
2

题意:给出一个偶数,问把这个偶数拆成两个不同素数相加和,有多少种方法。

题解:把偶数前面的素数都算出来保存在数组里,之后每种可能都试一下。

 #include<bits/stdc++.h>
using namespace std;
int n;
int a[];
int num;
int isPrime(int n)
{ //返回1表示判断为质数,0为非质数,在此没有进行输入异常检测
double n_sqrt;
if(n== || n==) return ;
if(n%!= && n%!=) return ;
n_sqrt=floor(sqrt((double)n));
for(int i=;i<=n_sqrt;i+=)
{
if(n%(i)== | n%(i+)==) return ;
}
return ;
}
void prime()
{
num=;
for(int i=;i<=n;i++)
{
if(isPrime(i))
{
a[num++]=i;
}
}
}
int main()
{ while(~scanf("%d",&n),n)
{
memset(a,,sizeof(a));
prime();int ans=;
for(int i=;i<num;i++)
{
for(int j=i+;j<num;j++)
{
if(a[i]+a[j]==n)
{
//printf("%d %d\n",a[i],a[j]);
ans++;
}
}
}
printf("%d\n",ans);
}
return ;
}

hdu2098分拆素数和(素数+暴力)的更多相关文章

  1. HDU2098 分拆素数和

    Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢?   Input 输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束.   Outp ...

  2. hdu2098 分拆素数和 素数筛

    将一个偶数拆成两个素数的和,欧拉筛暴力 #include<stdio.h> #include<string.h> #define N 10001 ]; ]; ,j; void ...

  3. 哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098

    哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098 //哥德巴赫猜想 #include <iostream> #include <cmath> #include ...

  4. 分拆素数和[HDU2098]

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. HDU 2098 分拆素数和

    HDU 2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768K (Java/Others) [题目描述 ...

  6. hdoj 2098 分拆素数和

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. HDU 2098 分拆素数和(素数)

    HDU 2098 分拆素数和(素数) http://acm.hdu.edu.cn/showproblem.php?pid=2098 题意: 给你一个偶数,问你这个偶数有多少种方式能由两个不同的素数构成 ...

  8. hdu 2098 分拆素数和(素数)

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others)     ...

随机推荐

  1. FactoryBean的实现原理与作用

    FactoryBean与BeanFactory: 这俩货在拼写上很是相似,很多同学在看IOC源码或者其他地方并不能分清有啥区别,前面的IOC源码中我简单说过,现在统一简单来讲一下: FactoryBe ...

  2. trunc(sysdate)的含义是什么

    1.ORACLE中TRUNC是截取的函数

  3. 个人免签即时到账收款接口 bufpay.com 支持多账号收款

    有很多 bufpay 的用户反馈,单个手机收款有些时候不太方便,切换手机太麻烦:或者是营业额比较多,希望分摊到多个账号上面. 基于以上的问题,bufpay 开发了多手机收款的功能:每个收款的手机安装 ...

  4. GIT更新一其中一个提交版本

    有一小朋友刚才SVN转到GIT,最近老是咨询怎么才svn update -rXXXXX 在git其实也不麻烦,就是git checkout的事情,不管是分支还是TAG,都会有一个HASH版本号 1. ...

  5. C++ map练习

    C++ STL之map map介绍 C++里的map数据结构,会存储键值对信息key-value,通过key得到value的信息.map的key与value有一个特点就是:每个唯一的key拥有唯一对应 ...

  6. Linux 学习第五天

    一.重定向.管道符.通配符 1.重定向.管道符使用 重定向: 命令文件 管道符: 命令A:命令B  (管道符  |  别称 “任意门”) 二.常用命令 1.ls /etc | wc -l  (查看目录 ...

  7. 面试题——Java虚拟机

    一.运行时数据区域 Java虚拟机在执行Java程序的时候会把它所管理的内存划分为若干个不同的数据区域,这些区域各有用途: 程序计数器:(线程私有的) 程序计数器是一块较小的内存,可以看作是当前线程所 ...

  8. Hadoop 动态扩容 增加节点

    基础准备 在基础准备部分,主要是设置hadoop运行的系统环境 修改系统hostname(通过hostname和/etc/sysconfig/network进行修改) 修改hosts文件,将集群所有节 ...

  9. Leecode刷题之旅-C语言/python-217存在重复元素

    /* * @lc app=leetcode.cn id=217 lang=c * * [217] 存在重复元素 * * https://leetcode-cn.com/problems/contain ...

  10. e+\e-

    aE-0b aE+0b 分别是 a*10的负b次方 和a*10的b次方 不能省略 + - 号和十位