C程序设计 《将6~100的偶数表示为两个素数之和》

来源:百度知道 编辑:UC知道 时间:2024/05/05 07:10:51
要求:

(1) 将大于6小于100的偶数分解成两个素数之和;

(2) 以两个素数之和的形式输出,例如 6=3+3;

(3) 要求每行输出5个数;

(4) 编写程序时要求用到函数调用,即分解成两个素数之和的部分用一个函数来实现,然后在主函数中调用;

#include"stdio.h"
void fun(int);//函数声明
int fun2(int);
main()
{
int a,j=0;
for(a=6;a<=100;a+=2)
{
j++;//j作为计数器
fun(a);//调用函数解决问题
if(j%5==0)//每五个换行
printf("\n");
}
printf("\n");
}
void fun(int a)
{
int i,k;
for(i=1;i<=a/2;i+=2)//如果是素数,它一定是奇数,步长加2
{
if(fun2(i)&&fun2(a-i))//分解的两个数同时是素数
{
k=1;
printf("%d=%d+%d; ",a,i,a-i);
break;
}
}
}
int fun2(int j)//判断一个数是否为素数,是,返回1,否则返回0。
{
int k;
for(k=2;k<=j/2;k++)
{
if(j%k==0)
break;
}
if(k>j/2)
return 1;
else
return 0;
}