黑马程序员技术交流社区
标题:
可能会面试的题
[打印本页]
作者:
knockout
时间:
2015-9-10 21:31
标题:
可能会面试的题
/*
【程序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的值,重复执行第一步。
*/
import java.util.Scanner;
class FenJieYinShu
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要分解质因数的数:");
int num=sc.nextInt();
System.out.print(num+"=");
fenJieZhiYinShu(num);
}
public static void fenJieZhiYinShu(int num)
{
int a=num;
for(int i=2;i<=a/2;i++)
{
while(num%i==0)
{
num=num/i;
System.out.print(i+"*");
}
}
System.out.println("\b ");
}
}
/*
import java.util.Scanner;
class FenJieYinShu
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要分解质因数的数:");
int num=sc.nextInt();
int k=2;
System.out.print(num+"=");
while(k<=num)
{
if(k==num)
{
System.out.println(num);
break;
}
else if (num%k==0)
{
System.out.print(k+"*");
num=num/k;
}
else
{
k++;
}
}
}
}
*/
复制代码
作者:
灰色头像HD
时间:
2015-9-10 22:36
能看的懂,估计写不出来。你已经在上基础班了?
作者:
星空01田
时间:
2015-9-10 22:38
谢谢分享,收藏下来。。。
作者:
kenfans
时间:
2015-9-10 22:59
帮顶帮顶
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2