小球落地问题
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。
它在第N次落地时反弹多高?共经过多少米? 保留两位小数
第一次落地反弹 M/2,
第二次落地反弹 M/4 (即 M/(2^2)),
第三次落地反弹 M/8 (即 M/(2^3)),
以此类推第 N次反弹高度为 M/(2^N)
public class Test{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int M = scanner.nextInt(); //总高度 int N = scanner.nextInt(); //反弹的次数 double height = 0,sum = M; for(int i=1;i<=N;i++) { height=M/Math.pow(2, i); if(i<N) { sum += 2*height; }else if(i==N) { sum += 0; } } String h = String.format("%.2f", height); String s = String.format("%.2f", sum); System.out.println(h+" "+s); } }
求n以内的素数
对正整数 n,如果用 2到 之间的所有整数去除,均无法整除,则 n为质数。质数大于等于 2 不能被它本身和 1 以外的数整除
public class Test { public static void main(String[] args) { boolean flag; Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for(int i=2;i<=n;i++) { flag=true; for(int j=2;j<=Math.sqrt(i);j++) { if(i%j==0) { flag=false;//不是素数 } } if (flag==true) { System.out.println(i); } } } }
数组的插入和排序
已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[]a = new int[10]; for(int i=0;i<a.length-1;i++) { a[i]=scanner.nextInt(); } int b =scanner.nextInt(); a[a.length-1]=b; for(int i =a.length-1;i>0;i--) { if(a[i]<a[i-1]) { int temp = a[i-1]; a[i-1] =a[i]; a[i]=temp; } } for(int n:a) { System.out.println(n); } } }