五一假期 3

继续做了 昨晚未完成的编程的题目

(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));
	}
}

昨天做的四级题目 我还是好差啊  错很多  唉  听力对于我....每天听英语新闻都不能挽救我的 听力能力 








猜你喜欢

转载自blog.csdn.net/qq_41398448/article/details/80156788