| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2206 人关注过本帖
标题:分解质因数
取消只看楼主 加入收藏
丘山君
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:87
专家分:154
注 册:2017-11-15
结帖率:54.55%
收藏
已结贴  问题点数:20 回复次数:2 
分解质因数
小白刚开始学,请大佬帮忙看下,谢谢
分解质因数 如90=2*3*3*5
代码如下:
程序代码:
package branch;

import java.util.Scanner;

public class IntegerFactorization {
public static void main(String[] args) {
    Scanner scan=new Scanner(System.in);
    System.out.print("x=");
    Integer num=scan.nextInt();
    System.out.println();
    System.out.print("x=1");
    int i=2,j;
    while(num!=1) {
        //这里的变量i,在while循环里想要改变值,
        //但是像现在这样写报错,要怎么写才不会报错
        for(i;i<=num;i++) {
            for(j=2;j<i&&i%j!=0;j++)
                ;
            if(i==j)
                break;
        }
        if(num%i==0) {
            num/=i;
            System.out.print("*"+i);
        }
        else 
            i++;//i值在这里改变
    }
    
}
}

搜索更多相关主题的帖子: 分解 Scanner System out num 
2018-03-06 12:22
丘山君
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:87
专家分:154
注 册:2017-11-15
收藏
得分:0 
回复 3楼 疯狂的小a
谢谢,你的代码比我的好太多了。
但我还是想问下为什么前面定义过,但是在for循环时不能直接用,要用还要再给赋值
改为for(i=2;i<j;i++)就不报错。
谢谢
2018-03-06 16:28
丘山君
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:87
专家分:154
注 册:2017-11-15
收藏
得分:0 
回复 6楼 疯狂的小a
谢谢。
2018-03-07 16:47
快速回复:分解质因数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020536 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved