1.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?
package com.myd.ex; import java.util.*; public class Fibb { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); // x是月份 int i = 0; long[] arr = new long[x + 1]; arr[0] = 1; arr[1] = 1; for (i = 2; i < x; i++) { arr[i] = arr[i - 1] + arr[i - 2]; } System.out.println("在" + x + "月以后的兔子总数为" + arr[x - 1] * 2); } } 2.判断101-200之间有多少个素数,并输出所有素数。
package com.myd.ex; import java.util.*; public class PrimeNum { public static void main(String[] args) { int sum=0,m=0,n=0; for(int i=101;i<=200;i++) { for(int j=1;j<=i;j++) { m=i%j; //m为余数,若余为0则证明i可以被j整除 if(m==0) { n++; //n为因数计数器 } } if(n==2) { //若因数为2则该数为素数 sum++; } m=n=0; } System.out.println(sum); } } 3.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
用了两种写法。第一种:
package com.myd.ex; import java.util.*; public class SxhNum { public static void main(String[] args) { for(int i=100;i<1000;i++) { int a=i/100; int b=(i-a*100)/10; int c=i-100*a-10*b; if(a*a*a+b*b*b+c*c*c==i) { System.out.println(i); } } } } 第二种:
package com.myd.ex; public class SxhNum2 { public static void main(String[] args) { for(int a=1;a<=9;a++) { for(int b=0;b<=9;b++) { for(int c=0;c<=9;c++) { if(a*a*a+b*b*b+c*c*c==a*100+b*10+c) { System.out.println(a*100+b*10+c); } } } } } } 4.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
package com.myd.ex; import java.util.*; public class SplitNum2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); System.out.print(x + "="); if (x == 1) { System.out.println("1"); } else if (x == 4) { System.out.println("2*2"); } else splitNum(x); } public static void splitNum(int x) { int t = 2, i = 0; int result[] = new int[x]; for (t = 2; t <= x; t++) { if (x % t == 0) { result[i] = t; i++; x = x / t; t = 2; } } for (i = 1; i < result.length; i++) { if (result[i - 1] != 0) { System.out.print(result[i - 1]); if (result[i] != 0) { System.out.print("*"); } } } } } 5.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。
package com.myd.ex; import java.util.*; public class ScoreLevel { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int x=sc.nextInt(); if(x<0) { System.out.println("输入错误!"); }else if(x>=90) { System.out.println("A"); }else if(x>=60) { System.out.println("B"); }else System.out.println("C"); } }
