1. 程式人生 > >JAVA演算法習題集合—第一階段2:基礎演算法練習之for迴圈的練習

JAVA演算法習題集合—第一階段2:基礎演算法練習之for迴圈的練習

 

知識點:for迴圈、for迴圈和if語句的巢狀使用

8、輸出1到100

描述:輸出從1到100

執行結果:

1 2 3 4...100

		for(int i=1;i<=100;i++){
			System.out.print(i+" ");
		}

9、輸出100以內的偶數

執行結果:

2 4 6 8 10

		for(int i=1;i<=100;i++){
			if(i%2==0){
				System.out.print(i+" ");
			}
		}

 

10、輸出100以內偶數的和

執行結果:

2550

		int sum=0;//宣告一個求和容器
		for(int i=2;i<=100;i=i+2){	
			sum=sum+i;//將i進行累加
		}
		System.out.print(sum);	

 

11、輸出所有約數

描述:輸入一個自然數,輸出它所有約數

執行結果:

輸入:12

1 2 3 4 6 12

		Scanner input=new Scanner(System.in);
		System.out.println("請輸入一個整數");
		int a=input.nextInt();
		System.out.println("a的約數有:");
		for(int i=1;i<=a;i++){
			if(a%i==0){
				System.out.print(i+" ");
			}
		}

 

12、判斷質數

描述:輸入一個數,判斷它是不是質數;質數就是約數只有2個的數

執行結果:

輸入:13

是質數

		Scanner input=new Scanner(System.in);
		System.out.println("請輸入一個整數");
		int a=input.nextInt();
		int sum=0;//宣告一個計數器,用來統計約數的數量
		for(int i=1;i<=a;i++){
			if(a%i==0){
				sum++;
			}
		}
		if(sum==2){//如果約數數量=2,則是質數
			System.out.println("a是質數");
		}
		else{
			System.out.println("a不是質數");
		}

 

13、等差數列

描述:輸入首項q和公差d,輸出等比數列前100項

執行結果:

輸入q:5

輸入d:3

5 8 11 14 17...

		Scanner input=new Scanner(System.in);
		System.out.println("請輸入首項數q(整數)");
		int q=input.nextInt();
		System.out.println("請輸入公差數d(整數)");
		int d=input.nextInt();
		for(int i=0;i<100;i++){
			System.out.print(q+" ");
			q=q+d;
		}

14、描述:搖擺數列

說明:輸出 2 -2 2 -2 2 -2… 序列 
執行結果:

2

-2

2

-2

2

-2

...

		int a=2;
		int b=-2;
		for(int i=0;i<100;i++){
			if(i%2==0){
				System.out.print(a+" ");
			}
			else{
				System.out.print(b+" ");
			}
		}

15、斐波拉契數列數列

輸出:1 1 2 3 5 8 數列的前30項

斐波那契數列又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”。在數學上,斐波納契數列以如下被以遞迴的方法定義:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。

斐波那契數列指的是這樣一個數列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........,這個數列從第3項開始,每一項都等於前兩項之和。

		int arr[]=new int[30];//宣告一個數組,用以存放資料
		for(int i=0;i<30;i++){
			if(i<=1){//i=0和i=1時,對應元素為1
				arr[i]=1;
			}
			else{//從第3個元素開始,元素資料=前面兩個元素的和
				arr[i]=arr[i-1]+arr[i-2];
			}
			System.out.print(arr[i]+" ");
		}