LHL算法入门经典 例题4-2 孪生素数

例题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;	
		}	
	}
}

发布了33 篇原创文章 · 获赞 14 · 访问量 624

猜你喜欢

转载自blog.csdn.net/Simple_questions/article/details/104987618