代码运行:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int pdss(int a) {
for (int i = 2; i < a; i++) {
if (a % i == 0) {
return 0;
}
}
return 1;
}
//判断这个素数之前的一个素数
int sygss(int a) {
a = a - 1;
while (a) {
int b = 0;
if (a == 1)
return 1;
if (a == 0)
return 2;
for (int i = 2; i < a; i++) {
if (a % i == 0){
b = 1;
break;
}
}
if (b != 1)
return a;//前面素数为a
a--;
}
return 0;//前面无素数
}
int main()
{
int m = 0;
int n = 0;
scanf("%d", &m);
while (m) {
int q=pdss(m);
if (q == 1) {
int p = sygss(m);
if (p == 0)
break;
if (p != 0) {
if ((m - p) == 2) {
n++;
}
}
}
m--;
}
printf("%d", n);
return 0;
}
最后想问问各位大神,怎样修改能让最大N运行不超时。如下: