Java题解将正整数分解质因数

Java题解将正整数分解质因数

例如:打印:90=2 * 3 * 3*5。

设计思路:

首先在2到该数范围内能被每次变量数整除才有意义,因为第一数加1从2开始,0和1在取余和除取整上没有意义,其二,每次如果能被每次变量数整除,那么该数是原来数的因数,否则,变量加1需要下一个能被整除的数,同时满足被整除的数应当直接除于该变量数,把整数继续循环对变量数取余数或者取整。

直到变量数和每次改变了的被除数相等的时候跳出循环输出满足条件的因数查看相乘是否为原来的数。

package com.demo7;

public class Test4 {
    public static void main(String[] args) {
        //4.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
        //当前给定数取模为0可除尽。则再用除数和变量数取模和取余,直到取余不为0,
        // 再加1取模重复操作。变量取到不满足在给定数到2范围内跳出循环
        //即在2到该数的范围内找能够被该数整除的数,得到的除数当下一次的被除数,直到不满足取模。判断下一个除数
        int number=24;
        printFactor(number);
    }
    public static void printFactor(int number){//首先0和1没有意义除外,从2开始
        int i=2;
        System.out.print(number+"=");
        while (i<=number){//每次传回的number都是当下i-1能整除的整数
            if (i==number){//如果变量i和number相等时说明已经没有其它因数了,可以直接跳出循环
                System.out.println(number);
                break;
            }else if (number%i==0){//如果满足取余为0,则当前的number是能被i整数的
                System.out.print(i+"*");
                number/=i;//然后对用当前的number做被除数为下次的number判断条件
            }else {//如果不满足被除数和变量i除数整除的情况下,i+1进入下次循环
                i++;
            }
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@湖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值