【题目来源】https://www.jisuanke.com/problem/T1163
蒜头君定义两个相差为2的素数称为素数对,如5和7,17和19等,要求找出所有两个数均不大于n的素数对。
【输入格式】一个正整数n。
【输出格式】所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出“empty”。
【代码】
# include
# include
int isprime(int num)
{
int res = 1;
if (num == 1)
res = 0;
for (int i = 2; i <= sqrt(num); ++i)
if (num % i == 0){
res = 0;
break;
}
return res;
}
int main()
{
int n, flg = 0;
scanf("%d", &n);
for (int i = 2; i <= n-2; ++i) {
if (isprime(i) && isprime(i + 2)) {
flg = 1;
printf("%d %d\n", i, i + 2);
}
}
if (!flg)
printf("empty");
return 0;
}