[HOME][干支]

#awkのプログラムソースです。
#n人をmグループに分ける方法が何通りあるかを計算します。
#デバッグを兼ねて、60人以下を12グループ以下に分ける場合について1行ごと出力しています。
#2000/3/20 (C) MATSUOKA , Hajime

#階乗a!の関数
function fact(a){
    f=1
    for(j=2;j<=a;j++){
        f*=j
    }
    return(f)
}

#組み合わせ aCbの関数 
function combi(a,b){
    f=1
    for(k=1;k<=b;k++){
        f*=a-k+1
    }
    for(k=2;k<=b;k++){
        f/=k
    }
    return(f)
}

#メインの部分 引数はありません。
#mは1から順に計算する必要があります。
BEGIN{
    for(n=1;n<=60;n++){   
        for(m=1;m<=n && m<=12 ;m++){
            sum=m^n
            for(i=1;i<m;i++){
                sum-=combi(m,i)*fact(i)*b[n,i]
            }
            b[n,m]=sum/fact(m)
            print n,m,b[n,m]
        }
    }
}

2004/01/26更新

干支ディレクトリ

Google
Web www.PAG1U.net

関連ディレクトリ

発明 

個人情報

通信

MilkyWay Astrology

関連サイト

MilkyWayAstrologyの観点から

 
 
 
 
 
  
 
 
 
 

 

 

seo
ホーム   掲示板 (C)松岡肇 メール