题目概述:
将一个正整数分解质因数。例如:输入90,打印出90=2335。
代码如下:
public class _分解质因数 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); Scanner sc = new Scanner(System.in); System.out.println("请输入一个正整数:"); int n = sc.nextInt(); int j = 0; while (true) { for (int k = 2; k <= n; k++) { if (n % k == 0) { n = n / k; j = k; sb.append(j); break; } } if (n == 1) { break; } } System.out.println(sb); } }//结果:
//请输入一个正整数:
//90
//2335
总结
这个题目已经不是第一次看见过了,看着题目的大概描述觉得不难,应该可以很快解决。可想象总是与现实有点区别,今天自己上手操作时,逻辑思路通了但就是,死活得不到想要的结果,加了标记测了好半天,知道了就是代码中i++搞的鬼,我想着每次过来不让i++,又从它原本的值2开始,于是就加了一个while循环,但还是卡了半天,也测试了半天,结果明明只需要在加for里面加一个break就解决的问题,我硬是卡了半天,真的很滑稽也很搞笑。唉,真是路漫漫其修远兮啊!还得继续加油~~~~