例题4-2 孪生素数
如果n和n+2都是素数,则称它们是孪生素数.输入m,输出两个数均不超过m的最大孪生素。5<=m<=10000。
输入:
20
输出:
17 19
输入:
1000
输出:
881 883
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<math.h>
using namespace std;
int isprime(int n)
{
int i;
if(n<1) return 0;
if(n==2) return 1;
for(i=2;i<=sqrt(n);i++)
if(n%i==0) return 0;
return 1;
}
int main()
{
int n;
scanf("%d",&n);
int i;
for(i=n-2;i>=3;i--)
{
if(isprime(i)&&isprime(i+2))
{
printf("%d %d",i,i+2);
break;
}
}
}