これを出力すると計算結果が0としか表示されません
どこが違うのかわからないのでヒントなどをもらえるとありがたいです。
学校から出された課題にはn!を求めるプログラムをfk(x)関数でnCrの計算を求めるプログラムをfncr(x,y)関数で作るように言われました。
環境はPC:win7、コンパイラがVisual Stdioです。
#include<iostream>
using namespace std;
int fncr(int,int);
int fk(int);
int main()
{
int n,r,nCr;
cout<<"**nCrを求めます**\n";
cout<<'\n';
cout<<"n?";cin>>n;
cout<<"r?";cin>>r;
cout<<'\n';
nCr=fncr(n,r);
cout<< n <<"C"<< r <<"="<<nCr<<'\n';
return 0;
}
int fncr(int x,int y) //nCrを求める関数
{
int z;
z=fk(x)/(fk(x-y)*(fk(x-(x-y)))); // n!÷((n-r)!×r!
return z;
}
int fk(int x) //n!の計算をする関数
{
int k=x;
if(x<=1)
{
x--;
k=k*x;
}
return k;
}