PTA 1007素数对猜想
代码
#include<stdio.h>
#include<math.h>
int FindSu(int n) {
int i;
int flag = 0 ;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
flag = 1; //flag=1表示不是素数
}
if ((i > n / 2) && (n != 1)) flag = 0;
}
return flag;
}
int main() {
int n;
int times = 0;
scanf_s("%d", &n);
int i;
for (i = 3 ; i <= n; i++) {
if (FindSu(i) == 0) {
if (FindSu(i) == FindSu(i + 2)) {
times++;
i++;
}
}
}
printf("%d", times);
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
思路:不采用先计算素数表,采用一边判断x是不是素数,一边判断x+2是不是素数。如果两者都是素数,则计数器+1。
我已经解决的问题:"不超过“和”不超时“。
我在网上找过了其他c语言代码,自己输入随机数进行对比,答案结果一致。
我想要达到的结果
测试点134。
感谢帮助!