作业帮 > 综合 > 作业

将一个正整数分解质因数

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/11 06:32:00
将一个正整数分解质因数
public class Yinshu {
public static void main(String[] args) {

while(true){
Scanner scanner = new Scanner(System.in);
int i = Integer.parseInt(scanner.nextLine());
System.out.print(i+"=");
int j=2;
for(;j
将一个正整数分解质因数
感觉像是写错了,删掉这行吧
再问: 没写错
再答: 哦我看懂了。解释起来不太容易,我举个例子吧,假设i已经分解掉了一些因数,剩下了343(还有三个因子7),然后j已经循环到6,这时在for里面
while(j!=i){
\x09\x09\x09if(i%j==0){
...
\x09\x09\x09}else break;//343%6!=0,直接跳出while循环
\x09\x09\x09}
什么也不会做,然后j++到7,再一次for里面,进入while后,第一轮:
\x09\x09\x09if(i%j==0){//343%7==0成立
\x09\x09\x09\x09System.out.print(j+"*");//输出7*
\x09\x09\x09\x09i=i/j;//i=343/7=49
\x09\x09\x09}else
\x09\x09\x09\x09break;

while的条件j!=i依然成立,while进入第二轮:

if(i%j==0){//49%7==0成立
System.out.print(j+"*");//输出7*
i=i/j; //i=49/7=7
}else
break;
这时i已经等于7,while条件j!=i不成立,退出while循环
然后for的j++使得j达到8,这时for的循环条件j