分解质因数 java_java代码分解质因数

总结:

循环。。。首位

逻辑要清晰

很简单。首先质因数最小的2。因为1不是质数

然后当输入的数刚好为2时,结束。不用下一步了。否则在循环里不停的输出一个数,

当输入的数比2大时,分能被2整除和不能被2整除的情况,若是前者则输出质因数,然后把每一次的商作(a=a/k)为a,下一次判断是否能被k整除,。不能,那就要k++.总要输出它的质因数为止,

package com.aini;

import java.util.Scanner;

//求从键盘输入数,分解质因数,输出结果显示:如 135=3*3*3*5;

//当a能被k(质因数)整除时,输出k,当k不能被a整除时,继续循环k++.直到k值能被a整除,而且此时k==a。就停止了。break;

public class gre {

public static void main(String[] args) {

Scanner c = new Scanner(System.in);

System.out.print("请输入-----");

int a = c.nextInt();

// System.out.println(a+"=");

int k = 2;

System.out.print(a+"=");

while (k <= a) {

if (k == a) {

System.out.println("" + a);

break;

// 如果这里不用break;则出现一个质因数循环到永远。。因为它在if循环里面。一直输出最后的一个质因数。

}// 这是一个完整的if循环判断

else if (a % k == 0) {

System.out.print(k + "*");

a = a / k;// 此时的a值作为下一次的a,之后分解

} else {

k++;

}

}

}

}

//

请输入-----135

135=3*3*3*5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值