将一个正整数分解质因数。例如:输入60;打印出2*3*5*2

将一个正整数分解质因数。例如:输入60;打印出2*3*5*2 

import java.util.Scanner;
/*将一个正整数分解质因数。例如:输入60;打印出2*3*5*2

package CompileProject;

import java.util.Scanner;
/*将一个正整数分解质因数。例如:输入60;打印出2*3*5*2

算法实现构思:

1、用Scanner实现输入一个正整数num

2、用一个for循环遍历一个从 i=2开始查找到i<=num的数

3、如果 num%i==0的时候,输出i的值

4、然后把num的值递归一下,即 num=num/i

5.   剩下思路见注释

*/
public class P16 {

    public static void main(String[] args) {
        
            Scanner sc = new Scanner(System.in);
            while(true){System.out.print("请输入一个正整数:");
            int num = sc.nextInt();
            System.out.print("质因数分解后为:"+num+"=");
            for(int i=2;i                 while (num!=i){
                if(num%i==0){
                    System.out.print(i+"*");
                    num=num/i;//if判断一遍、运行程序块后,只要满足while循环条件,继续判断if,直到break
                /*
                 * 执行思路是从2到num/2+1从头取数i除num,num/i得到新的num,直到取得数不能整除num;取下一个数(i++),直到num=i    
                 */
                }    else break;//此时num%i!=0,跳出while,i++
                }
            }
            System.out.println(num);
            }
        }
    }
   

 

 

测试:24

60

你可能感兴趣的:(java基础,练习题)