试设计程序 验证任意一个不小于6的偶数可表示为两个素数之和

来源:百度知道 编辑:UC知道 时间:2024/09/25 11:22:21
C语言!试设计程序 验证任意一个不小于6的偶数可表示为两个素数之和!!急!!!!

思想:这个主要就是用到那个判断是不是素数的函数,其它的只要从最小开始记起若遇到两个数都是素数就输出,这也就证明了可以用两个素数之和来表示,程序如下:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int sushu(int n) /*这个主要是用来判断是不是素数*/
{
int i;
if(n<=2) /*如果小于等于2则不是素数*/
return 0;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1; /* 1用来标志是素数,0标志不是素数*/
}
void main()
{
int i,shu,jishu=0;
do
{
printf("请输入一个偶数:\n");
scanf("%d",&shu);
if(shu%2!=0||shu<=6)
printf("请输入一个偶数!!!!");
else
break;
}while(1); /*主要用来输入一个数,且这个数是偶数*/
for(i=2;i<=shu;i++)/*从2开始循环到这个数本身*/
{
if(sushu(i)==1&&sushu(shu-i)==1)/*若两个都是素数则输出这两个数*/
{
jishu++;
printf("第%d个组合是:\n",jishu);
printf("%d,%d\n",i,shu-i);
}
}
if(jishu>0)
printf("%d可以可表示为两个素数之和",sh