Java-每日编程练习题①
1.输出打印一个九九乘法表
代码如下,很简单的一个for的嵌套循环即可实现
1 /**
2 * 输出9*9口诀。 3 * 4 * @author ChenZX 5 * 6 */
7 public class Test01 { 8
9 public static void main(String[] args) { 10 for(int i=1;i<10;i++){ 11 for(int j=1;j<=i;j++){ 12 System.out.print(j+"*"+i+"="+(i*j)+"\t"); 13 } 14 System.out.println(); 15 } 16 } 17 }
2.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。1)如果这个质数恰等于n,就说明分解质因数的过程已经结束,打印出即可。
2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步(递归实现)。
3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步(递归实现)。
详细代码如下:
1 public class Test02 { 2
3 public static void main(String[] args) { 4 Scanner s = new Scanner(System.in); 5 System.out.println("请输入要分解质因数的正整数:"); 6 int num = s.nextInt(); //键盘输入正整数num
7 s.close(); //关闭输入(不需要输入的时候记得关闭输入)
8 factor(num,2); //调用分解质因数方法
9 } 10
11 /**
12 * 分解质因数 13 * @param n 要分解的正整数 14 * @param k 除数(最小的质数) 15 */
16 public static void factor(int n,int k){ 17 if(n==k){ //若最小的质数正好等于正整数n(说明分解完成了)
18 System.out.print(k);
19 return; //结束方法 返回值类型为void的方法可调用return直接结束方法
20 } 21 if(n%k==0){ //若n能被k整除
22 System.out.print(k+"*");
23 n= n/k; //将商作为新的n值
24 factor(n,2);
25 }else{ //若n不能被k整除
26 k= k+1; //将k+1作为新的k值
27 factor(n,k);
28 } 29
30 } 31 }

更多精彩