题目名称:1.变异素数对
时间限制:1000ms内存限制:256MB提交通过率:27%
题目描述
描述
两个相差为8的素数称为变异素数对,如5和13,11和19等,给定一个正整数 n (n>1),从小到大输出不大于n的所有素数对。
输入
一个正整数n。1 <= n <= 10000。
输出
所有小于等于n的变异素数对。每对变异素数对输出一行,中间用单个空格隔开。若没有找到任何变异素数对,输出empty。
样例1
输入
100
输出
3 11 5 13 11 19 23 31 29 37 53 61 59 67 71 79 89 97
答案:
#include <stdio.h>
int z(int a){
for(int i=2;i*i<=a;i++){
if(a%i==0){
return 0;
}
}
return 1;
}
int main(){
int a,b=0;
scanf("%d",&a);
for(int i=9;i<=a;i++){
if(z(i)==1&&z(i-8)==1){
b=1;
printf("%d %d \n",i-8,i);
}
}
if(b==0){
printf("empty");
}
return 0;
}