| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3011 人关注过本帖, 1 人收藏
标题:题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
取消只看楼主 加入收藏
tuesday2
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-29
收藏(1)
 问题点数:0 回复次数:3 
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
import javax.swing.*;
public class Zhi
{
public static void main(String args[])
{
String input=JOptionPane.showInputDialog("请输入正整数:");
int num=Integer.parseInt(input);//输入的字符串转化为整数

if(num==1) //输入为1,直接输出
{
System.out.print("num=1");
}
else
{
System.out.print("num=");
for(int i=2;i<num;i++)
{
if(num%i==0)
{
System.out.print(i);
num=num/i;
if(num!=1)
{
System.out.print("*");
}
i--; //防止它只除一次质因数
}
if(num==1) //整除完后,值为1跳出
{
break;
}
}
}
System.exit(0); //输入的图形框结束语句
}
}


运行的结果:比如输入90,num=2*2*5* 希望朋友们给指点哈,哪一步出了问题?
搜索更多相关主题的帖子: 质因数 整数 num 分解 
2007-10-01 19:22
tuesday2
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-29
收藏
得分:0 
运行结果是:输入90,num=2*3*3*,   输入100,num=2*2*5*,   总是最后一个数输不出来,请指点。
2007-10-01 19:37
tuesday2
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-29
收藏
得分:0 

首先,感谢三楼,多谢你的帮助。

import javax.swing.*;
public class Zhi
{
public static void main(String args[])
{
String input=JOptionPane.showInputDialog("请输入正整数:");
int num=Integer.parseInt(input);//输入的字符串转化为整数

if(num==1) //输入为1,直接输出
{
System.out.print("num=1");
}
else
{
System.out.print("num=");
for(int i=2;i<num+1;i++)
{
if(num%i==0)
{
System.out.print(i);
num=num/i;
if(num!=1)
{
System.out.print("*");
}
i--; //防止它只除一次质因数
}
if(num==1) //整除完后,值为1跳出
{
break;
}
}
}
System.exit(0); //输入的图形框结束语句
}
}

2007-10-04 00:08
tuesday2
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-29
收藏
得分:0 

这一个代码更加简洁一点。(此三楼的智慧,多谢)

import javax.swing.JOptionPane;
public class Zhi2
{
public static void main(String args[])
{
String input=JOptionPane.showInputDialog("请输入正整数:");
int num=Integer.parseInt(input);//输入的字符串转化为整数

if(num==1) //输入为1,直接输出
{
System.out.print("num=1");
}
else
{
System.out.print("num=");
for(int i=2;i<num+1;i++)
{
while(num%i==0)
{
System.out.print(i);
num=num/i;
if(num!=1)
{
System.out.print("*");
}
}
}
}
System.exit(0); //输入的图形框结束语句
}
}

2007-10-04 00:14
快速回复:题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
数据加载中...
 
   



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

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