题目:输入一个正整数,将其分解质因数。例如:输入90,打印出90=2
3
3*5。
分析:定义一个变量i为2,任何一个数的因数都是从最小的2开始慢慢递增到自身。如果n对2取余为0,说明整除了,那么2就是其中的一个因数,因为循环有自带的迭代++,所以i的值要重新定义为1
代码:
import java.util.Scanner;
public class demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数");
int n = sc.nextInt();
System.out.print(n+"=");
for(int i=2;i<=n;i++){
if(n%i==0){
System.out.print(i);
n/=i;
//因为i遍历一遍之后需要进行++操作,所以i=1
i=1;
}
//*号比因数的个数少1,所以最后一个因数后面不能有*,最后一次循环时,n<2
if(n>=2){
System.out.print("*");
}
}
}
}
版权声明:本文为m0_46287385原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。