任意一个大于2的偶数都可以分解为两个质数之和.给定一个大于2的偶数n,求解这两个质数.
思路
输入一个数n,判断其是否为大于二的偶数,一层循环从2开始,直到这个偶数的一半,每次判断n与n-i是否均为偶数,是则输出,否则继续循环,直到循环结束。
代码
#include<stdio.h>
int issushu(int x)//判断是否为素数
{
int i;
for(i=2;i<=x/2;i++)
{
if(x%i==0)
{
return 0;
}
}
return 1;
}
int main()
{
int n;
int i;
int a = 0;
printf("请输入一个大于二的偶数:");
scanf("%d",&n);
if(n<=2 || n%2!=0 )
{
printf("别闹!输入一个大于二的偶数!");
return 0;
}
for(i=2;i<=n/2;i++)
{
a = n-i;
if(issushu(i) && issushu(a))
{
printf("%d=%d+%d\n",n,i,a);
}
}
return 0;
}
刚开始学,写的不好,轻喷;
本文介绍了一个基于哥德巴赫猜想的编程解决方案,即任意一个大于2的偶数都可以表示为两个质数之和。通过C语言实现,文章详细展示了如何判断一个数是否为素数,并使用循环找到满足条件的两个质数。

2056

被折叠的 条评论
为什么被折叠?



