题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
解决方案 »
- 为什么调用了System.gc()后finalize()方法没有被调用呢?
- 请写出如下代码的运行结果(22)
- 如何对LIST中的BEAN进行排序,感谢
- java能否拷贝EXCEL文件到其他地方
- 新人请高手帮我看看,冒泡排序,数组的问题?
- JComboBox 列表框内的值,按了Alt键突然消失
- 线程和类(内部类和外部类)的一些问题?/
- 写一段JAVA代码,将SQLServer中的内容写入到一个文本文件中,要求文件格式鲜明,清楚,能看出数据库中的内容
- 各们java大仙们,我用Jbuiler开发出来的Application(应用程序),如何脱离Jbuiler集成环境,能在Windows下直接运行
- 评论语言
- 关于String的replaceAll方法???
- 在Jpanel中怎么不让窗口重绘
{
public static void main(String[] args) throws IOException{
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
String ss=br.readLine();
int ii =Integer.parseInt(ss);
Test.open(ii);
}
public static void open(int n){
int a=num(n);
System.out.print(n+"="+a);
while(n/a!=1){
n=n/a;
a=num(n);
System.out.print("*"+a);
}
}
public static int num(int m){
int j=2;
for(;j<m;j++){
if(m%j==0){
break;
}
}
return j;
}
}