偶数拆成素数和.Problem Description把一个偶数拆成两个不同素数的和,有几种拆法呢?Input输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束.Output对应每个偶数,输出其拆成不
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/27 04:31:53
![偶数拆成素数和.Problem Description把一个偶数拆成两个不同素数的和,有几种拆法呢?Input输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束.Output对应每个偶数,输出其拆成不](/uploads/image/z/8503766-62-6.jpg?t=%E5%81%B6%E6%95%B0%E6%8B%86%E6%88%90%E7%B4%A0%E6%95%B0%E5%92%8C.Problem+Description%E6%8A%8A%E4%B8%80%E4%B8%AA%E5%81%B6%E6%95%B0%E6%8B%86%E6%88%90%E4%B8%A4%E4%B8%AA%E4%B8%8D%E5%90%8C%E7%B4%A0%E6%95%B0%E7%9A%84%E5%92%8C%2C%E6%9C%89%E5%87%A0%E7%A7%8D%E6%8B%86%E6%B3%95%E5%91%A2%3FInput%E8%BE%93%E5%85%A5%E5%8C%85%E5%90%AB%E4%B8%80%E4%BA%9B%E6%AD%A3%E7%9A%84%E5%81%B6%E6%95%B0%2C%E5%85%B6%E5%80%BC%E4%B8%8D%E4%BC%9A%E8%B6%85%E8%BF%8710000%2C%E4%B8%AA%E6%95%B0%E4%B8%8D%E4%BC%9A%E8%B6%85%E8%BF%87500%2C%E8%8B%A5%E9%81%870%2C%E5%88%99%E7%BB%93%E6%9D%9F.Output%E5%AF%B9%E5%BA%94%E6%AF%8F%E4%B8%AA%E5%81%B6%E6%95%B0%2C%E8%BE%93%E5%87%BA%E5%85%B6%E6%8B%86%E6%88%90%E4%B8%8D)
偶数拆成素数和.Problem Description把一个偶数拆成两个不同素数的和,有几种拆法呢?Input输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束.Output对应每个偶数,输出其拆成不
偶数拆成素数和.
Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢?
Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束.
Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行.
Sample Input
30
26
0
Sample Output
3
2
我写的代码输出都是0..
#include
#include
int main()
{
int n,a,b,i,k1,k2,m=0;
while(scanf("%d",&n)!=EOF&&(n!=0))
{
k1=0;
k2=0;
for(a=2;a
偶数拆成素数和.Problem Description把一个偶数拆成两个不同素数的和,有几种拆法呢?Input输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束.Output对应每个偶数,输出其拆成不
#include<stdio.h>
#include<math.h>
int main()
{
\x09int n,a,b,i,k1,k2,m;
\x09while(scanf("%d",&n)!=EOF&&(n!=0))
\x09{
\x09\x09m=0;//对于每个n都需对m进行初始化为0
\x09\x09for(a=2;a<(n/2);a++)
\x09\x09{
\x09\x09\x09k1=0;//对于每个a,b组合都要初始化k1,k2为0
\x09\x09\x09k2=0;//
\x09\x09\x09b=n-a;
\x09\x09\x09for(i=2;i<=sqrt(a);i++)//循环条件改成i<=sqrt(a)
\x09\x09\x09{
\x09\x09\x09\x09if(a%i==0)
\x09\x09\x09\x09\x09k1=1;
\x09\x09\x09}
\x09\x09\x09for(i=2;i<=sqrt(b);i++)//循环条件改成i<=sqrt(b),必须改,否则比如b=25,你会把25判断成指数
\x09\x09\x09{
\x09\x09\x09\x09if(b%i==0)
\x09\x09\x09\x09\x09k2=1;
\x09\x09\x09}
\x09\x09\x09if((k1==0) && (k2==0))
\x09\x09\x09\x09m++;
\x09\x09}
\x09\x09printf("%d\n",m);
\x09}
\x09return 0;
}