1. 程式人生 > >js演算法練習(七)

js演算法練習(七)

斐波那契數列: 類似1 1 2 3 5 8 13 21 …的數列。 規律:除前兩個數外,後一個數是前兩個數的和。 這裡介紹兩種方法,第一種寫死前兩個數,這種好理解;第二種則是全部迴圈列印輸出,比第一種的思路難。 先以輸出十個為例: (1)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			/**
			 * 斐波那契數列:1 1 2 3 5 8 13 21 ......輸出10個
			 */
			
			//首先輸出前兩個1
			document.write("1 1 ");
			//定義前兩個數的值
			var a = 1;
			var b = 1;
			//迴圈賦值
			for (var i = 1;i < 9;i ++) {
				//設定臨時變數
				var temp = a;
				//新的a是舊的b
				a = b;
				//新的b是舊的a和b的和
				b = temp + b;
				//列印輸出
				document.write(b + " ");
			}
			
		</script>
	</body>
</html>

結果輸出: 在這裡插入圖片描述 若想改變輸出個數,只需修改迴圈次數即可。

(2)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			/**
			 * 斐波那契數列:1 1 2 3 5 8 13 21 ......輸出10個
			 */
			var a = 0;
			var b = 1;
			for (var i = 1;i <= 10;i ++) {
				a = a + b;
				b = a - b;
				document.write(a + " ");
			}
			
		</script>
	</body>
</html>

輸出結果跟第一種一樣: 在這裡插入圖片描述