早教吧作业答案频道 -->其他-->
从键盘输入一个正整数n(4
题目详情
从键盘输入一个正整数n(4<=n<=1000000),判断正整数n能分解成2个素数之和。要求除了主函数外,要另外编写一函数,专门判断正整数x是否为素数。
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。
输入
每行输入一个正整数n,若n<4结束输入。
输出
与每个输入的正整数n相对应,输出结果。如果n能分解成2素数之和,则输出各种可能的分解方案如果n不能分解成2素数之和,则输出"No answer"。
各种可能的分解方案只考虑组合,不考虑排列。例如,50可以分解成50=13+37或50=37+13,则只取前面的那一种,即只取50=13+37
多个结果之间由空行隔开。但某结果中的每个分解方案输出单独占一行。
样例输入
17
19
50
2
样例输出
No answer
19=2+17
50=3+47
50=7+43
50=13+37
50=19+31
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。
输入
每行输入一个正整数n,若n<4结束输入。
输出
与每个输入的正整数n相对应,输出结果。如果n能分解成2素数之和,则输出各种可能的分解方案如果n不能分解成2素数之和,则输出"No answer"。
各种可能的分解方案只考虑组合,不考虑排列。例如,50可以分解成50=13+37或50=37+13,则只取前面的那一种,即只取50=13+37
多个结果之间由空行隔开。但某结果中的每个分解方案输出单独占一行。
样例输入
17
19
50
2
样例输出
No answer
19=2+17
50=3+47
50=7+43
50=13+37
50=19+31
▼优质解答
答案和解析
#include "stdafx.h"
bool px(int n){
bool re=true;
for(int i=2;i<n;i++){
if(n%i==0){
re=false;
}
}
return re;
}
void main(){
int n,a,b,num=0;
printf("请输入一个4到1000000的数:");
scanf("%d",&n);
if(n<4){
printf("输入小于4,结束!!");
}
else{
printf("");
for(int i=2;i<=(n-2)/2;i++){
a=i;
b=n-i;
if(px(a)&&px(b)){
printf("%d=%d+%d",n,a,b);
num++;
}
}
if(num==0){
printf("No answer");
}
}
}
看了 从键盘输入一个正整数n(4...的网友还看了以下:
为你一道java题呗有时间帮我看一下啊更正键盘输入的英语书写要求:1.\x05从键盘输入英文句子, 2020-05-14 …
键盘输入发生“串键”错误是指( )A.键入某一键值,得到的是另一个键的键值B.同时按下了多个键C.有 2020-05-24 …
键盘输入发生“串键”错误的是指( )。A.键入某一个键时,得到的是另一个键的键值B.同时按下了多个 2020-05-24 …
键盘输入发生“串键”错误是指( )。A.键入某一键值,得到的是另一个键的键值B.同时按下了多个键C. 2020-05-24 …
关于共价键共价键具有饱和性,那么每种原子的成健数应该是一个定值,比如碳永远是形成4根键,那么为什么 2020-07-04 …
会不会java编程啊拜谢啊急更正键盘输入的英语书写要求:1.从键盘输入英文句子,最多可以输入100 2020-07-17 …
小明在电脑中设置了一个有理数的运算程序:输入a,加★键,再输入数b,就可以得到运算:a★b=(a- 2020-07-27 …
大一计算机基础4.Excel中,()操作不能实现在第n行之前插入一行。A.在活动单元格中,单击右键选 2020-11-11 …
有一个特殊的计算器有一个“*”键,当输入数a时,只要按上“*”键,a消失立刻显示一个数2a+1,如果 2020-11-22 …
急求用c++编写下列程序1,从键盘上输入一组数据,期中该组数据是以输入0作为结束的,求这组数中的最大 2020-12-24 …