天天看點

【Java】階乘 素數 循環

《Java 2實用教程(第5版)實驗指導與習題解答》
ISBN 978-7-302-46687-1

《Java實用教程(第5版)微課版》
ISBN 978-7-302-46425-9
p49
4.程式設計題
           

(1)編寫應用程式求

1!+2!+...+10!

public static void main(String[] args) {
		int sum=0;
		int temp=0;
		for(int i=1;i<=10;i++) {
			temp =i;
//			求階乘
			for(int j=1;j<i;j++) {
				temp*=j;
			}
//			求和
			sum+=temp;
		}
		System.out.println("求1!+2!+...+10!=="+sum);
	}
           
【Java】階乘 素數 循環

(2)編寫一個應用程式求

100

以内的全部素數

import java.util.Scanner;
public class Fac {
	public static void main(String[] args) {
		System.out.println("請輸入一個整數:");
		Scanner re=new Scanner(System.in);
		int num=re.nextInt();
		for(int k=2;k<=num;k++) {
			if(prime(k)==1) {
				System.out.print(" "+k);
			}
		}
	}
	static int prime(int n) {
		if(n==2) {
			return 1;
		}
		for(int i=2;i<n;i++) {
			if(n%i==0) {
				return 0;
			}
			else {
				return 1;
			}
		}
		return -1;
	}
}
           
【Java】階乘 素數 循環

(3)分别用

do-while

for

循環計算

1+1/2!+1/3!+1/4!+..+...

的前20項和

public static void main(String[] args) {
		double sum=0;
		double temp=1;
		double i=1;
		do {
			sum+=temp;
			i++;
			temp=(1.0/i)*temp;
		}while(i<=20);
		System.out.println("使用do-while循環計算的sum="+sum);
		
		for(sum=0,i=1,temp=1;i<=20;i++) {
			temp=temp*(1.0/i);
			sum+=temp;
		}
		System.out.println("使用for循環計算的sum="+sum);
	}
           
【Java】階乘 素數 循環

(4)一個數如果恰好等于它的因子之和,這個數就稱為完數。編寫程式求

1000

之内的所有完數

public static void main(String[] args) {
		int sum=0,i,j;
		for(i=1;i<=1000;i++) {
			for(j=1,sum=0;j<i;j++) {
				if(i%j==0) {
					sum+=j;
				}
			}
			if(sum==i) {
				System.out.println("完數:"+i);
			}
		}
	}
           
【Java】階乘 素數 循環

(5)編寫應用程式,使用

for循環

語句計算

8+88+888+...

10

項之和

public static void main(String[] args) {
		int m=8,temp=m;
		long sum=0;
		for(int i=1;i<=10;i++) {
			sum+=temp;
			temp=temp*10+m;
		}
		System.out.println(sum);
	}
           
【Java】階乘 素數 循環

(6)編寫應用程式,輸出滿足

1+2+3+...+n<8888

的最大正整數

n

public static void main(String[] args) {
		int n=1;
		long sum=0;
		while(true) {
			sum+=n;
			n++;
			if(sum>=8888) {
				break;
			}
		}
		System.out.println("滿足條件的最大整數:"+(n-1));
	}
           
【Java】階乘 素數 循環