问题描述
编写程序求孪生素数。如果 n 和 n+2 都是素数,则称它们是孪生素数。输入一 个正整数 m,输出两个均不超过 m 的最大孪生素数(中间空一格)。
样例输入
例:
20
样例输出
例:
17 19
#include<stdio.h>
//判断是否为素数
int ps(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
return 0;
}
}
return 1;
}
//判断是否为孪生素数
int pss(int n)
{
int i,temp=0;
for(i=2;i<n;i++)
{
if(ps(i)&&ps(i+2)&&(i+2)<=n)
{
temp=i;
}
}
return temp;
}
int main()
{
int temp,n;
scanf("%d",&n);
temp=pss(n);
printf("%d %d",temp,temp+2);
return 0;
}