问题提出
如果 n 和 n+2都是素数,称它们为孪生素数。输入m,输出两个数均不超过 m 的最大孪生素数。5≤m≤10000。
样例输入:
20
1000
样例输出:
17,19
881883
#include<stdio.h>
int prime(int m){
for(int k=2;k<m;k++){
if(m%k==0){
return 0;
}
}
return 1;
}
int main(){
int m;
scanf("%d",&m);
int max=0;
if(m>=5&&m<=10000){
for(int i=2;i<m;i++){
if(prime(i)&&prime(i+2))
if(i>max)
max=i;
}
}
printf("%d %d\n",max,max+2);
return 0;
}