sunny_girl_123的博客

个人心得,大家分享~~

素数距离问题

#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;
}        
阅读更多
个人分类: C语言
上一篇蛇形填数(螺旋填数类似)
下一篇公约数公倍数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭