C语言经典例题100例——C语言练习实例84解答(用两个素数之和表示一个偶数)

作者(出处):百宝箱工作室发布时间:2017年9月21日 10:27:35查阅量:85

题目:一个偶数总能表示为两个素数之和。

程序分析:我去,这是什么题目,要我证明这个问题吗?真不知道怎么证明。那就把一个偶数分解成两个素数吧。

程序源代码:

// 百宝箱工作室官方网址 http://www.baibaox.com
// 百宝箱工作室业务介绍 http://www.baibaox.com/BusinessIntroduction.html

int Isprimer(unsigned int n)
{
    int i;
    if(n<4)
    {
	return 1;
    }
    else if(n%2==0)
    {
	return 0;
    }
    else
    {
        for(i=3;i<sqrt(n)+1;i++)
	{
            if(n%i==0)
	    {
		return 0;
	    }
	}
    }
    return 1;
}

main()
{
    unsigned int n,i;
    do
    {
        printf("请输入一个偶数:");
        scanf("%d",&n);
    }while(n%2!=0);
    for(i=1;i<n;i++)
    {
        if(Isprimer(i)&&Isprimer(n-i))
            break;
    }
    printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i);
}

以上实例运行结果如下:

请输入一个偶数:6
偶数6可以分解成3和3两个素数的和
百宝箱网络工作室  版权所有  
站长QQ:1617818397  站长E-mail:1617818397@qq.com
Powered by www.baibaox.com  Copyright © 2011-2018
点击这里给我发消息