文章目录
零、前言
今天是学习 JAVA语言 打卡的第4天,每天我会提供一篇文章供群成员阅读( 不需要订阅付钱 ),读完文章之后,按解题思路,自己再实现一遍。在小虚竹JAVA社区 中对应的 【打卡贴】打卡,今天的任务就算完成了。
因为大家都在一起学习同一篇文章,所以有什么问题都可以在群里问,群里的小伙伴可以迅速地帮到你,一个人可以走得很快,一群人可以走得很远,有一起学习交流的战友,是多么幸运的事情。
学完后,自己写篇学习报告的博客,可以发布到小虚竹JAVA社区 ,供学弟学妹们参考。
我的学习策略很简单,题海策略+ 费曼学习法。如果能把这100题都认认真真自己实现一遍,那意味着 JAVA语言 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。
一、题目描述
题目:将一个正整数分解质因数。
例如:输入 90,打印出 90=233*5。
二、解题思路
对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
(1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果 n <> k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数你 n,重复执
行第一步。
(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
三、代码详解
public class Basics04 {
public static void main(String[] args) {
int i=2, n = 90;
//经过演算得出,当n=1时全部因数拆解结束
while(n>1) {
//判断是否能够被整除
if(n%i==0) {
System.out.println(i);
n=n/i;
//条件成立则n取商
}else{
i++;
//不成立则i++,再次判断是否能否被整除
}
}
}
}
五、示例源码下载
关注下面的公众号,回复筑基+题目号
筑基04