⑴ 初学c语言 验证哥德巴赫猜想:一个大偶数可以分解成两个素数之和。
你好,我给在几个地方加了几个{}就可以了,代码:
#include<stdio.h>
#include<math.h>
main()
{
intn,x,y,a,b,i,j;
for(n=96;n<=100;n+=2)
{
for(x=3;x<n/2;x+=2)
{漏碧//第一个括号
a=sqrt(x);
for(i=2;i<=a;i++)
if(x%i==0)break;
if(i>册改=a+1)
{//第二个括号它必须保证找到第一个素数,才能执行下面
y=n-x;//找第二个素数
b=sqrt(y);
for(j=2;j<=b;j++)
if(y%j==0)break;
if(j>=b+1)
printf("%d=%d+%d ",n,x,y);
}
}返姿举//第一个括号结束
}
}
⑵ C语言:将10-20之间的全部偶数分解为两个素数之和。这个该怎么弄谢谢
#include<stdio.h>
//2-20的素数-----235711131719
//1020的偶数---101214161820
intchaifen(intx,intsushu[]);
intmain()
{
intsushu[8]={2,3,5,7,11,13,17,19};
for(inti=10;i<=20;i++)
{
if(i%2==0)chaifen(i,sushu);
}
return0;
}
//拆分函数,用来把一个偶数拆分为两个素数之和
intchaifen(intx,intsushu[])
{
inti,j;
for(i=0;i<7;i++)
{
for(j=i+1;j<8;j++)
{
if(x==sushu[i]+sushu[j]){
printf("%d=%d+%d ",x,sushu[i],sushu[j]); //如果找到了,就输出这个素数组合
return0; //结束函数
}
}
}
return0;
}
⑶ c语言编程 从键盘中输入一个偶数,编程实现将该偶数拆分成两个素数之和并输出在屏幕上
#include<stdio.h>
int isprime(int n)
{
int i;
for(i=2;i<=n/2;i++)
if(n%i==0)
return 0;
return 1;
}
void main()
{
int n,i;
scanf("%d",&n);
for(i=2;i<n/2;i++)
if(isprime(i) && isprime(n-i))
printf("%d %d ",i,n-i);
}
(3)c语言分解为两个素数扩展阅读:
(1)两个连续整数中必是一个奇数一个偶数;
(2)奇数与奇数的和或差是偶数;偶数与奇数的和或差是奇数;任意多个偶数的和都是偶数;单数个奇数的和是奇数;双数个奇数的和是偶数;
(3)两个奇(偶)数的和或差是偶数;一个偶数与一个奇数的和或差一定是奇数;
(4)除2外所有的正偶数均为合数;
(5)相邻偶数最大公约数为2,最小公倍数为它们乘积的一半;