关闭

素数距离问题

182人阅读 评论(0) 收藏 举报
分类:
#include <stdio.h>
#include <math.h>
int main()
{
	int k;
	scanf("%d",&k);
	while(k--)
	{
		int n,i,j;
		int fun(int n);
		scanf("%d",&n);
		for(i=n,j=n;;i--,j++)
		{
			if(fun(i))
			{
				printf("%d %d\n",i,n-i);
				break;
			}
			else
			if(fun(j))
			{
				printf("%d %d\n",j,j-n);
				break;
			}
		}
	}
	return 0;
}
int fun(int n)
{
	int i;
	if(n==0 || n==1)
	 return 0;
	else
		if(n==2)
		  return 1;
		else
		  for(i=2;i<=sqrt(n);i++)//特别注意这里应该有等号的
		    if(n%i==0)
		       return 0;
	return 1;
}        
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6227次
    • 积分:361
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:1篇
    • 译文:1篇
    • 评论:0条
    文章分类