leetcode-2
Java正整数分解质因数
1、题目:
- 将一个正整数分解质因数。例如:输入 90,打印出 90=233*5。
2、题目解析:
- 先将数m从2开始整除,如果能被2整除,就将m等于m除以2–> m = m % 2;
- 然后将m在从2开始整除,如果不成立,从就从3开始,以此类推。
while(nums % 2 == 0){
if (nums == i) {
System.out.print(i);
}else {
System.out.printf("%d*",i);
}
nums = nums / 2;
}
- 这只是除数为2的循环,那3,4,5,6, 所以这里就需要外层for循环,进行除数的不断增加
for (int i = 2; i <= nums; i++) {
}
3、代码
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int nums = sc.nextInt();
for (int i = 2; i <= nums; i++) {
while (nums % i == 0) {
if (nums == i ) {
System.out.print(i);
}else {
System.out.printf("%d*",i);
}
nums = nums / i;
}
}
4、总结
- 首先要找出规律,如何分解质因数,先判断一个数如何除,脑子里面有思路,求出while循环,其次再进行格式打印
A journey of a thousand miles begins with a single step
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)