二項係数を計算するプログラムです。いいえ、k 値を入力すると > n のプログラムがクラッシュします。しかし、プログラムに k> n を入力すると、正しい (n>k) 新しい値を入力するように戻すにはどうすればよいのでしょうか。正しい値 (n>k) を入力すると、プログラムが停止します。
#include<stdio.h>
#include <iostream>
using namespace std;
int binomialCoeff(int n, int k)
{
// Base Cases
if (k==0 || k==n)
return 1;
else
return binomialCoeff(n-1, k-1) + binomialCoeff(n-1, k);
}
int main()
{
int n,k;
cin >>n;
cin>>k;
printf("Value of C(%d, %d) is %d ", n, k, binomialCoeff(n, k));
return 0;
}
たぶんdo whileループ?このようなもの:
do {
cin >>n;
cin>>k;
}while(n>k);
しかし、このループは機能していません。