用JAVA语言解决分解质因数问题
关注:59 答案:3 手机版
解决时间 2021-01-24 14:32
提问者轉頭涐還是涐
2021-01-23 14:10
import java.util.*;
public class ZhiShu {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean is=true;
int j=0;
Scanner input=new Scanner(System.in);
System.out.print("请输入一个整数:");
int num=input.nextInt();
for(int i=2;iif(num%i==0){
System.out.print(num+"=");
break;
}
if(i==num-1){
System.out.println(num+"是质数,不能分解质因数。");
is=false;
}
}
if(is){
for(int i=2;iif(num%i==0){
do{
num=num/i;
System.out.print(i);
if(num!=1){
System.out.print("*");
}
j=num%i;
}while(j==0);
}
}
if(num!=1){
System.out.println(num);
}
}
}
}
这个算法的优缺点是什么?
最佳答案
二级知识专家樱花雨梦
2021-01-23 14:21
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=40;//测试数据,你也可以用Scanner获取输入数据,但是为了方便
for(int i=2;i<=num;i++){
while(num!=i){
if(num%i==0){
System.out.println("质因数是:"+i);
num=num/i;
}
else
break;
}
}
System.out.println("质因数是:"+num);
}
}
全部回答
1楼用命换你心
2021-01-23 16:03
就是用JAVA语言编程序 将一个数分解质因数 求代码 public class Test { public static void main(String[] args) { /
2楼相忘于江湖
2021-01-23 14:36
import java.util.scanner; public class main { public static void main(string args[]){ scanner scanner=new scanner(system.in); int x=scanner.nextint(); fun(x); } static void fun(int x){//分解正数x并将质因子输出的方法 int i=0; int k=x; system.out.print(x+"的质因子为:"); while(true){ for(i=2;i<=k;i++){ if(k%i==0){ system.out.print(i);//i即为素因子,可传至数组另存 k=k/i; break; } } if(k==1) break; system.out.print(","); } } } 样例输出: 256 256的质因子为:2,2,2,2,2,2,2,2 141 141的质因子为:3,47 100 100的质因子为:2,2,5,5 1764 1764的质因子为:2,2,3,3,7,7 5 5的质因子为:5
我要举报
如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
推荐资讯
大家都在看