【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 public class Prog9{ public static void main(String[] args){ int n = 10000; compNumber(n); } //求完数 private static void compNumber(int n){ int count = 0; System.out.println(n+"以内的完数:"); for(int i=1;i<n+1;i++){ int sum = 0; for(int j=1;j<i/2+1;j++){ if((i%j)==0){ sum += j; if(sum==i){ System.out.print(i+" "); if((count++)%5==0) System.out.println(); } } } } } } |
【程序10】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? import java.util.Scanner; public class Prog10{ public static void main(String[] args){ System.out.print("请输入小球落地时的高度和求解的次数:"); Scanner scan = new Scanner(System.in).useDelimiter("\\s"); int h = scan.nextInt(); int n = scan.nextInt(); scan.close(); distance(h,n); } //小球从h高度落下,经n次反弹后经过的距离和反弹的高度 private static void distance(int h,int n){ double length = 0; for(int i=0;i<n;i++){ length += h; h /=2.0 ; } System.out.println("经过第"+n+"次反弹后,小球共经过"+length+"米,"+"第"+n+"次反弹高度为"+h+"米"); } } |
|