1403:素数对时间限制: 1000 ms 内存限制: 65536 KB 提交数: 24964 通过数: 18358 【题目描述】两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。 【输入】一个正整数n(1≤n≤10000)。 【输出】所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出empty。 【输入样例】100 【输出样例】3 5
5 7
11 13
17 19
29 31
41 43
59 61
71 73 |
教学备忘录:编辑 |
#include<iostream> #include<cmath> #include<cstring> int a[1005]; int max(int y)//是不是素数 { for(int i=2;i<y;i++) if(y%i==0)return 0; return 1; } using namespace std; int main() { int m,n,i,j,k=0,l; scanf("%d",&n); for(i=2;i<n;i++) if(max(i)&&max(i+2)){//如果符合条件 k=1; if(i+2<n) printf("%d %d\n",i,i+2);} if(k==0)cout<<"empty"; return 0; } |