java循環語句控制練習

(1)編寫應用程序求 1!+2!+…+10!。

public class jc {
	public static void main (String args[]){
		double sum=0,a=1;
		int i=1;
		while(i<=10){
			sum=sum+a;
			i++;
			a=a*i;
		}
		System.out.println("sum="+sum);
	}
} 

(2)編寫一個應用程序求 100 以內的全部素數。

public class ss{
	public static void main (String args[]){
		int i,j;
		for(i=2;i<=100;i++){
			for(j=2;j<=i/2;j++){
				if(i%j==0)
					break;
				}
			if(j>i/2){
				System.out.print(" "+i);
			}
		}
	}
}

(3)分別用 do-while 和 for 循環計算 1+1/2!+1/3!+1/4!+…的前 20 項和。

public class jc1{
	public static void main (String args[]){
		double sum=0,t=1;
		int i=1,n=20;
		do{                //用do_while
			sum=sum+t;
			i++;
			t=t*(1.0/i);
		}while(i<=n);
		System.out.println("do_while計算結果:"+sum);
		for(sum=0,i=1,t=1;i<=n;i++){//用for
			t=t*(1.0/i);		
			sum=sum+t;
		}
		System.out.println("for計算結果:"+sum);
		sum=0;i=1;t=1;
		while(i<=n){         //用whlie計算
			sum=sum+t;
			i++;
			t=t*(1.0/i);
		}
		System.out.println("whlie計算結果:"+sum);
	}
}

(4)一個數如果恰好等於它的因子之和,這個數就稱爲完數。編寫應用程序求 1000 之 內的所有完數。

public class wb {
	
	public static void main(String args[]){
		int sum=0,i,j;
		for(i=1;i<=1000;i++){
			for(j=1,sum=0;j<(i/2)+1;j++){
				if(i%j==0){
					sum=sum+j;
				}
			}
			if(sum==i)
				System.out.println("完數:"+i);
		}
		
	}
}

(5)編寫應用程序,使用 for 循環語句計算 8+88+888+…前 10 項之和。

public class yh8{
	public static void main(String args[]){
		long sum=0,a=8,t=a,n=10;
		for(int i=0;i<=n;i++){
			sum=sum+t;
			t=t*10+a;
		}
		System.out.println(sum);
	}
}

(6)編寫應用程序,輸出滿足 1+2+3+…+n<8888 的大正整數 n。

public class MN{
	public static void main(String args[]){
		long sum=0,i=0;
		while(sum<8888){
			i++;
			sum=sum+i;
		}
		System.out.println(i);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章