1. 程式人生 > >遞歸 正則表達式 楊輝三角

遞歸 正則表達式 楊輝三角

排列 這也 合數 title 個數 對稱 表示 n-2 ...

遞歸

1 1 2 3 5 8 13 21 34 ?
1 2 3 4 5 6 7 8 9 ?

function dg (n){

   if (n == 1 || n == 2) {

   return 1;

  } else {

  return dg(n - 1) + dg(n - 2);   

      }

} alert(dg(5));

正則表達式

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。

給定一個正則表達式和另一個字符串,我們可以達到如下的目的:

1. 給定的字符串是否符合正則表達式的過濾邏輯(稱作“匹配”);

2. 可以通過正則表達式,從字符串中獲取我們想要的特定部分。

正則表達式的特點是:

1. 靈活性、邏輯性和功能性非常的強;

2. 可以迅速地用極簡單的方式達到字符串的復雜控制。

3. 對於剛接觸的人來說,比較晦澀難懂。

a = prompt();
  var re = new RegExp(/^\w+[@]\w+[.][\w.]+$/);
  var x = a.match(re);
  if(x != null){
  alert("驗證成功");
  }

楊輝三角

概述

前提:每行端點與結尾的數為1.
  1. 每個數等於它上方兩數之和。
  2. 每行數字左右對稱,由1開始逐漸變大。
  3. 第n行的數字有n項。
  4. 第n行數字和為2n-1。
  5. 第n行的m個數可表示為 C(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。
  6. 第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。
  7. 每個數字等於上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第n+1行的第i個數等於第n行的第i-1個數和第i個數之和,這也是組合數的性質之一。即 C(n+1,i)=C(n,i)+C(n,i-1)
  8. (a+b)n的展開式中的各項系數依次對應楊輝三角的第(n+1)行中的每一項。
  9. 將第2n+1行第1個數,跟第2n+2行第3個數、第2n+3行第5個數……連成一線,這些數的和是第4n+1個斐波那契數;將第2n行第2個數(n>1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。
  10. 將各行數字相排列,可得11的n-1(n為行數)次方:1=11^0; 11=11^1; 121=11^2……當n>5時會不符合這一條性質,此時應把第n行的最右面的數字"1"放在個位,然後把左面的一個數字的個位對齊到十位... ...,以此類推,把空位用“0”補齊,然後把所有的數加起來,得到的數正好是11的n-1次方。以n=11為例,第十一行的數為:1,10,45,120,210,252,210,120,45,10,1,結果為 25937424601=1110。

遞歸 正則表達式 楊輝三角