题目描述:
哥德巴赫猜想:任何大偶数均可以表示为2个素数之和。
实验任务:
验证哥德巴赫猜想。计算给定的大偶数可以表示为多少对素数之和。例如,大偶数10,可以表示为2对素数3,7和5,5之和;
解题思路:构造素数表;
1 #include2 #define num 1000 3 int a[num]={ 2,3};//素数数组 4 void db() 5 { 6 7 int flag,t=2; 8 for(int i=5;;i+=2) 9 {10 flag=1;11 for(int j=0;a[j]*a[j] n)38 break;39 else if(a[i]+a[j]==n)40 {41 o=1;//找到42 ans++;43 printf("大偶数的素数对为:\n%d %d\n",a[i],a[j]);44 break;45 }46 }47 }48 if(o==0)49 printf("%d不存在素数对\n",n);50 else51 printf("total=%d\n",ans);52 ans=o=0;53 }54 return 0;55 }