第一个问题就是素数求解。
我懒,我po一下别人的解题。
(44条消息) C语言中判断一个数是否为质数(素数)的函数_qq_40370563的博客-CSDN博客_判断素数的函数
其他倒也没什么,这题也比较简单。但是我发现,数组一定要设置的足够大。
#include#include #include #include int prime_number(int num) { int i,k; if(num>=2) { k=sqrt(num); for(i=2;i<=k;i++) { if(num%i==0) break; } if(i>=k+1) return 1; else return 0; } else return 0; } int main() { int N; scanf("%d", &N); int SUSHU[10000]; //判断N中存在的素数 SUSHU[0] = 1; SUSHU[1] = 2; int j = 2; int flag=1;//判断是否是素数的标志 for(int i = 3; i <= N; i++) { flag=prime_number(i); if (flag==1) { SUSHU[j] = i; j++; } } int number=0; int P[10000]; int n = 1; while (n<=j) { P[n - 1] = SUSHU[n] - SUSHU[n - 1]; if (P[n - 1] == 2) number++; n++; } printf("%d", number); return 0; }



