wordpress怎么復(fù)制頁(yè)面福州網(wǎng)站優(yōu)化公司
要求
根據(jù)哥德巴赫猜想,任意一個(gè)大偶數(shù)都可以分解為兩個(gè)素?cái)?shù)之和。但許多偶數(shù)分解為兩個(gè)素?cái)?shù)之和并不是唯一的。
請(qǐng)編寫(xiě)函數(shù)fun,其功能是:求1000(不包括1000)以內(nèi)的所有恰好能分解成10組兩個(gè)素?cái)?shù)之和(5+109和109+5被認(rèn)為是同一組)的偶并依次存入數(shù)組a中并在屏幕上打印出來(lái),打印時(shí)每個(gè)數(shù)單獨(dú)一行,符合條件的個(gè)數(shù)通過(guò)函數(shù)值返回。數(shù),
例如:114=5+109=7+107=11+103=13+101=17+97=31+83=41+73=43+71=47+67=53+61
114恰好可以分解為10組素?cái)?shù)之和,因此114是我們要找的偶數(shù)。
而116=3+113=7+109=13+103=19+97=37+79=43+73
120=7+113=11+109=13+107=17+103=19+101=23+97=31+89=37+83=41+79=47+73=53+67=59+61
116可以分解為6組素?cái)?shù)之和,120可以分解為12組素?cái)?shù)之和,因此116和120都不是我們要找的偶數(shù)。函數(shù)prime用來(lái)判斷一個(gè)數(shù)n是否為素?cái)?shù),是則返回1,否則返回0。
代碼
#include<stdio.h>
#include<math.h>
#pragma warning(disable:4996)int prime(int n)
{ int k,flag=1;for (k=2; k<=(int)sqrt((double)n); k++)if (n%k == 0)flag=0;return flag;
}
int fun(int m, int a[])
{ int k, s, count, i=0;for(k=6; k<=m; k+=2){ count = 0;/* 請(qǐng)?jiān)诖颂幪顚?xiě)代碼 */for(s=2;s<k/2;s++){if(prime(s) & prime(k-s)){count++;}}if (count == 10) {printf("%d\n", k);a[i++] = k;}}return i;
}
main( )
{ int count, a[100];void NONO(int count, int a[]);count = fun(999, a);NONO(count, a);
}void NONO(int count, int a[])
{FILE *fp;int i;fp = fopen("out.dat","w") ;for(i=0; i<count; i++)fprintf(fp, "%d\n", a[i]);fclose(fp);
}