输入一个 4 - 1000 之间的偶数 n, 将其分解成两个素数之和。要求写出所有拆解可能,但不要把两个素数换位置的也打印出来。若有多个拆解可能,要求按照第一个加数由小到大的顺序依次输出
2条回答 默认 最新
关注 把这个问题分为两步,首先得到<=该偶数的所有素数,然后产生两个素数,判断其和是否满足=偶数。
#include<stdio.h> #include<math.h> //用到开方函数 int prime(int m)//该函数判断m是否为素数,取一标志位,如果是则返回0, { int i,flag=1; for(i=2;i<=sqrt(m)&&flag==1;i++) if(m%i==0)flag=0; return flag; } void main() { int n,j,k; printf("Please enter number:"); scanf("%d",&n); //输入该偶数 for(i=2;i<=n-2;i++) //素数是大于1的自然数 if(prime(i)&&prime(n-i)) //如果两个数都是素数且和等于n,则输出 printf("%d=%d+%d\n",m,i,m-i); }
只能做到这样,目前,这个互换位置的也会输出🙈
有帮助的话采纳一下哦!本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 综合布线实例设计,就好看好看不恐怖可好滤镜好聚
- ¥15 使用moviepy库视频合并时出错
- ¥30 FLUENT液固传质UDF
- ¥15 怎么看梯度直方图以,怎么判断梯度消失/爆炸,怎么解决
- ¥15 aspnetdll文件访问拒绝
- ¥15 wpf中在模版中寻找元素
- ¥15 MFC平台生成指定圆
- ¥15 jmeter出现403
- ¥500 求华为P30PRO手机硬盘数据恢复
- ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关