验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。例如:6=3+3,8=3+5,…,18=5+13。将6~100之间的偶数都表示成两个奇素数之和,打印时一行打印3组。
#include"stdio.h"
#include"math.h"
int fun(int n)
{
int i;
if(n==2)
return 1;
if(n%2==0)
return 0;
for(i=3;i<=sqrt(n);i+=2)
if(n%i==0)
return 0;
return 1;
}
main()
{
int n,i,j,flag,counter=0;
for(n=6;n<=100;n++)
{
flag=0;
for(i=2;i<=n/2;i++)
{
if(fun(i))
if(fun(n-i))
{
printf("%d=%d+%d\t\t",n,i,n-i);
counter++;
ok=1;
if(counter%3==0)
printf("\n");
}
if(i!=2)
i++;
if(flag)
break;
}
}
}
求100~200间的全部素数。
#include"stdio.h"
#include"math.h"
int fun(int n)
{
int i;
if(n==2)
return 1;
if(n%2==0)
return 0;
for(i=3;i<=sqrt(n);i+=2)
if(n%i==0)
return 0;
return 1;
}
main()
{
int num,counter=0;
for(num=100;num<=200;num++)
if(fun(num))
{
counter++;
printf("%d\t",num);
if(counter%5==0)
printf("\n");
}
}