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

简介: 一个偶数总能表示为两个素数之和

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

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

include

include

int Isprimer(unsigned int n);
int main()
{
unsigned int n,i;
do{
printf("请输入一个偶数:\n");
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);

return 0;

}
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;

}

以上实例运行输出结果为:

请输入一个偶数:
4
偶数4可以分解成1和3两个素数的和

相关文章
|
6月前
|
机器学习/深度学习 算法
【算法基础】筛质数
【算法基础】筛质数
33 0
|
4月前
|
人工智能
试除法判定质数
试除法判定质数
19 0
|
9月前
|
算法 C语言 C++
【数论】试除法判断质数,分解质因数,筛质数
将定义进行模拟,若整除了除1与其自身的另外的数,则为质数
72 0
|
10月前
AcWing 866. 试除法判定质数
AcWing 866. 试除法判定质数
|
10月前
|
Python
【每周一坑】​正整数分解质因数 +【解答】计算100以内质数之和
关于分解质因数:每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。分解质因数只针对合数。
|
算法 C++
【基础算法】几种特殊数(素数、公约数、完全数、亲密数) & C++实现
素数又称为质数,它指在一个大于1的自然数中,除了1和它自身外,没法被其他自然数整除的数。比1大,但不是素数的数称为合数。0和1既不是素数,也不是合数。因为素数的分布没有明显的规律,所以在程序中一般根据素数的定义来判断该数是否为素数。例如哥德巴赫猜想:哥德巴赫通过大量的数据猜测,所有不小于6的偶数,都可以表示为两个奇素数之和。后人将其称之为“1+1”。并且,对于每个不小于9的奇数,都可以表示为三个奇素数之和。
238 0
【基础算法】几种特殊数(素数、公约数、完全数、亲密数) & C++实现
|
机器学习/深度学习 C语言
【C素数】素数(质数)和分解质因数
【C素数】素数(质数)和分解质因数
85 0
【C素数】素数(质数)和分解质因数
夏洛克和他的女朋友(隐藏质数筛)
夏洛克和他的女朋友(隐藏质数筛)
60 0
哥德巴赫猜想——偶数
将6-99之间的偶数都表示成两个素数之和,输出时每行输出5组。
143 0
|
人工智能
关于正整数、质数与公因数及哥德巴赫猜想
前言: 一个正整数可以分成若干组整数乘式: 若规定乘式左侧数小于右侧数,则所有乘数的集合便是该数的公因数。 如:24=1X24;24=2X12;24=3X8;24=4X6,则24的公因数是1,2,3,4,6,8,12,24 若将左乘数当做白球放于白盒,右乘数当做黑球放于黑盒,则 P1:每一个白球与一个黑球之间存在唯一连接,使两球积为[源数]24。
1210 0