【题目04】分解质因数

【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。

package com.share.test01_10;

/**
 * 【程序4】题目:<br>
 * 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 
 * 
 * @author brx
 *
 */
public class Test04 {
    public static void main(String[] args) {
        test(90);
    }

    /**
     * 思路:将一个数n,与从2~n-1依次相除,如果能够被其中的2整除,将这个数继续整除直到不能被2整除,才继续除以3,依次类推<br>
     * 关键点:<br>
     * 1.将整除后的数赋给n,在整除后将除数减少1,进入下次循环时再次判断该除数,如果不能则进入循环将除数加1,让这个行为反复执行,而省掉了递归。
     * 2.因为从2开始一直除直到不能被2除,说明后面就是奇数了,接下来是被3整除直到不能被3整除,依次下去,直接实现了所有的除数是质数,
     * 不用去判断除数是不是质数了.<br>
     * 所以这种思路很巧妙,省去了递归和除数的质数判断。
     */
    public static void test(int n) {
        System.out.print(n + "=");
        for (int i = 2; i < n; i++) {
            if (n % i == 0) {
                System.out.print(i + "x");
                n = n / i;
                i--;
            }
        }
        System.out.println(n);
    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,542评论 0 41
  • 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子...
    Xplorist阅读 3,290评论 0 0
  • 题目: 将一个正整数分解质因数。例如:输入90,打印出90=233*5。 程序分析: 对n进行分解质因数,应先找到...
    Hughman阅读 5,498评论 0 3
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,955评论 0 2
  • 题目将一个正整数分解质因数。例如:输入90,打印出90=233*5. 程序分析 对n进行分解质因数,应先找到一个最...
    NoFacePeace阅读 4,112评论 0 0

友情链接更多精彩内容