继续做了 昨晚未完成的编程的题目
(3) 分别用do-while 和for 循环计算1+1/2!+1/3!+1/4!+...的前20 项和。
do-while
package E; public class E { public static void main(String args[]) { double sum=0,s=1; int i=1,n=20; do { sum=sum+s; i=i+1; s=s*(1.0/i); }while(i<=n); System.out.println("sum="+sum); } }
package E; public class E { public static void main(String args[]) { double sum=0,s=1; int i,n=20; for(i=1;i<=n;i++) { sum=sum+s; i=i+1; s=s*(1.0/i); } System.out.println("sum="+sum); }
(4)一个数如果恰好等于它的因子之和,这个数就称为完数。编写应用程序求1000内的所有完数。
package E; public class E { public static void main(String args[]) { int i,j; for(i=1;i<=1000;i++) { int sum=0; for(j=1;j<i;j++) { if(i%j==0) { sum=sum+j; } } if(sum==i) { System.out.println(i); } } } }
(5) 编写应用程序,使用for 循环语句计算8+88+888+..前10 项之和。
package E; public class E { public static void main(String args[]) { long sum=0,a=0,b=0; for(int i=1;i<=10;i++) { b=b*10; b=b+1; a=8*b; sum=sum+a; System.out.println(a); } System.out.println("sum="+sum); } }
6) 编写应用程序,输出满足1+2+3+...+n<8888 的最大正整数n。
package E; public class E { public static void main(String args[]) { int n=1,sum=0; while(sum<8888){ sum=sum+n; n++; } System.out.println("1+2+3+4...+n<8888 n的最大正整数为:"+(n-1)+" 得出最大的结果为:"+(sum-n)); } }
昨天做的四级题目 我还是好差啊 错很多 唉 听力对于我....每天听英语新闻都不能挽救我的 听力能力