题目描述 Description
现在请你编一个程序验证哥德巴赫猜想。
先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数。
先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数。
标签:
1 #include <stdio.h> 2 #include <math.h> 3 int pri(int a) //判断质数 4 { 5 for(int i=2;i<=sqrt(a);i++) 6 { 7 if(a%i==0) return 1;//找到了,返回1 8 } 9 return 0;//否则返回0 10 } 11 int main() 12 { 13 int n,a,b,c; 14 scanf("%d",&n); 15 for(int i=2;i<n;i++)//找到第一个数 16 { 17 if(pri(i)==0) 18 for(int j=2;j<n-i;j++)//判断第一个数是否为质数,如果是,寻找第二个数 19 { 20 if(pri(j)==0&&pri(n-i-j)==0) //找到2个数自然确定了第三个数 ,并判断第二和第三个数为质数 21 { 22 printf("%d %d %d\n",i,j,n-i-j); 23 return 0; 24 } 25 } 26 } 27 }
标签:
原文地址:http://www.cnblogs.com/geek-007/p/4471273.html