- 500 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 09:00:25 ]
- 組み合わせの計算させるようとしたんですが、出力が0になってしまいます。
ブレークポイントで止めて確認したところ、Anの値がAnrの値より小さくなって いるみたいなんですが何故でしょうか? もしかして表現できる桁数を越えてるから? そうだとしたらこれ以上大きな値が扱える型ないですか? unsigned long long int Kumiawase(int); int main(){ int n=36; int r=6; unsigned long long int Ar=Kumiawase(r),An=Kumiawase(n),Anr=Kumiawase(n-r); cout<<An/(Ar*Anr)<<endl; } unsigned long long int Kumiawase(int n){ unsigned long long int Ans=1; for(int i=1;i<=n;i++){ Ans*=i; } return Ans; }
|

|