编程:把一个大于六的偶数分解成两个素数之和
3个回答
展开全部
//试试吧,还可以
main()
{
int isprime(int m); //判断一个数是否是素数的函数
int n, a, b, i;
printf("输入一个大于六的偶数:");
scanf("%d", &n);
for(i=1; i<n; i++)
{
a=i; b=n-a;
if(isprime(a)&&isprime(b)&&a>b)
printf("两个素数分别为:%d %d\n", a, b);
}
}
int isprime(int m)
{
int i;
for(i=2; i<=m/2; i++)
{
if(m%i==0) return 0;
}
return 1;
}
main()
{
int isprime(int m); //判断一个数是否是素数的函数
int n, a, b, i;
printf("输入一个大于六的偶数:");
scanf("%d", &n);
for(i=1; i<n; i++)
{
a=i; b=n-a;
if(isprime(a)&&isprime(b)&&a>b)
printf("两个素数分别为:%d %d\n", a, b);
}
}
int isprime(int m)
{
int i;
for(i=2; i<=m/2; i++)
{
if(m%i==0) return 0;
}
return 1;
}
展开全部
给你思路:“授人以鱼不如授人以渔”
步骤:
付值6
循环从6-1到6-6/2止
6-1得5
判断1,5均是素数 给出结果1,5是素数,下一步
6-2得4
判断2,4不是素数,下一步
6-3得3
判断3,3均是素数 给出结果3,3是素数,下一步
6-4超过6-6/2的范围,溢出
得出两个结果
步骤:
付值6
循环从6-1到6-6/2止
6-1得5
判断1,5均是素数 给出结果1,5是素数,下一步
6-2得4
判断2,4不是素数,下一步
6-3得3
判断3,3均是素数 给出结果3,3是素数,下一步
6-4超过6-6/2的范围,溢出
得出两个结果
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<math.h>
void fun(int a)
{
int k,m1,m2;
for(m1=3;m1<=a/2;m1=m1+2)
{
for(k=2;k<=sqrt(m1);k++)
if(m1%k==0)break;
if(k>sqrt(m1))
{
m2=a-m1;
for(k=2;k<=sqrt(m2);k++)
if(m2%k==0)
break;
if(k>sqrt(m2))
printf("%d=%d+%d\n",a,m1,m2);
}
}
}
main()
{
int a;
printf("\n ENTER a:");
while(scanf("%d",&a)==1&&a)
{fun(a);printf("\n ENTER a:");}
}
#include<math.h>
void fun(int a)
{
int k,m1,m2;
for(m1=3;m1<=a/2;m1=m1+2)
{
for(k=2;k<=sqrt(m1);k++)
if(m1%k==0)break;
if(k>sqrt(m1))
{
m2=a-m1;
for(k=2;k<=sqrt(m2);k++)
if(m2%k==0)
break;
if(k>sqrt(m2))
printf("%d=%d+%d\n",a,m1,m2);
}
}
}
main()
{
int a;
printf("\n ENTER a:");
while(scanf("%d",&a)==1&&a)
{fun(a);printf("\n ENTER a:");}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询