输入一个数并输出它的质因数,如20=2*2*5(要求,能多次判断不同的数,也就是循环进行)
答案:2 悬赏:20 手机版
解决时间 2021-03-04 08:48
- 提问者网友:黑米和小志
- 2021-03-03 17:51
输入一个数并输出它的质因数,如20=2*2*5(要求,能多次判断不同的数,也就是循环进行)
最佳答案
- 五星知识达人网友:不想翻身的咸鱼
- 2021-03-03 18:39
#include
void main( ) {
int i,n;
while(1){
printf("Input a integer number: ");
scanf("%d",&n);
if(n<2) printf("Input error!
");
else{
printf("%d=",n);
i=2;
while(i if(n%i==0)
{printf("%d*",i);n/=i;}
else i++;
}
printf("%d
",n);
}
}
}
void main( ) {
int i,n;
while(1){
printf("Input a integer number: ");
scanf("%d",&n);
if(n<2) printf("Input error!
");
else{
printf("%d=",n);
i=2;
while(i
{printf("%d*",i);n/=i;}
else i++;
}
printf("%d
",n);
}
}
}
全部回答
- 1楼网友:骨子里都是戏
- 2021-03-03 20:12
import java.util.Scanner;
public class Factor {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(true){
System.out.println("请输入一个大于1的整数");
String next = scan.nextLine();
if("exit".equals(next)){
break;
}
int num;
try{
num = Integer.parseInt(next);
}catch(NumberFormatException e){
System.out.println("输入不合法");
continue;
}
if(num<=1){
System.out.println("输入不合法");
continue;
}
String result = num+"=";
int f = 2;
boolean isFirst = true;
while(num!=1){
if(num%f==0){
if(!isFirst){
result += "*";
}else{
isFirst = false;
}
result+=f;
num/=f;
}else{
f++;
}
}
System.out.println(result);
}
}
}
java代码,其他语言自行调整。有问题请追问。
public class Factor {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(true){
System.out.println("请输入一个大于1的整数");
String next = scan.nextLine();
if("exit".equals(next)){
break;
}
int num;
try{
num = Integer.parseInt(next);
}catch(NumberFormatException e){
System.out.println("输入不合法");
continue;
}
if(num<=1){
System.out.println("输入不合法");
continue;
}
String result = num+"=";
int f = 2;
boolean isFirst = true;
while(num!=1){
if(num%f==0){
if(!isFirst){
result += "*";
}else{
isFirst = false;
}
result+=f;
num/=f;
}else{
f++;
}
}
System.out.println(result);
}
}
}
java代码,其他语言自行调整。有问题请追问。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯