黑马程序员技术交流社区
标题:
一枚小程序,在线求解答啊【程序4】
[打印本页]
作者:
马超
时间:
2012-7-7 13:12
标题:
一枚小程序,在线求解答啊【程序4】
【程序4】 晕啊~~搞了半天搞不出。。:(
题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。
作者:
曹恒业
时间:
2012-7-7 13:25
本帖最后由 曹恒业 于 2012-7-7 13:27 编辑
import java.util.Scanner;
public class Test {
public static void main(String[]args){
//解决要分解的数字
System.out.println("输入要分解的整数:");
Scanner in = new Scanner(System.in);
int number = in.nextInt();
//分解方法
int k =2;
System.out.print(number + "=" );
while(number>k){
if(number%k==0){
System.out.print(k+"*");
number=number/k;
}else{
k++;
}
}
System.out.print(number+";");
}
}
复制代码
分解质因数的方法挺多,按照楼主的思路很容易贴出代码,简单写了一下。希望能帮到你~~
作者:
韦念欣
时间:
2012-7-7 14:09
这个是我写的代码。楼主可以参考参考!
import java.io.*;
public class Demo
{
public static void main(String[] args)throws IOException
{
System.out.print("请输入一个正整数:");
int num = Integer.parseInt(new BufferedReader(
new InputStreamReader(System.in)).readLine());
for (int i=2; i<=num; i++)
{
while (num % i == 0)
{
System.out.print(i+" ");
num /= i;
}
}
System.out.println();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2