【POJ - 2262】Goldbach‘s Conjecture(素数)

POJ - 2262

题意描述:给你数,把写出两个素数总和的形式,要求加数间差距最大

解题思路:for循环判断记录数字,按题目要求输出

#include<stdio.h>
#include<math.h>
int prime(int x)
{
	double k;
    k=sqrt(x);
    for(int i=2; i<=k; i++)
    	if(x%i==0)
        	return 0; 
    return 1;
}
int main(void)
{
	int n,find,i;
	while(~scanf("%d",&n))
	{
		find=0;
		if(n==0)
			break;
		for(i=2;i<=n/2;i++)
		{
			if(prime(i)&&prime(n-i))
			{
				find=1;
				break;
			}
				
			else
				continue;
		}
		if(find)
			printf("%d = %d + %d\n",n,i,n-i);
		else
			printf("Goldbach's conjecture is wrong.\n");
	}
	return 0;
 } 

猜你喜欢

转载自blog.csdn.net/m0_58245389/article/details/120408852
今日推荐