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);
	}
}
发布了51 篇原创文章 · 获赞 5 · 访问量 2120

猜你喜欢

转载自blog.csdn.net/weixin_44659084/article/details/104734493