請問我這樣寫還是會溢位嗎?
我卡陰了...=.=
#include <cstdlib>
#include <iostream>
using namespace std;
long long int fun(long long int x){
if(x==1||x==0)
return 1;
else
return x*fun(x-1);}
int main(int argc, char *argv[])
{
long long int m,n,y,sum,i,a=1,b;
while(cin >> n >> m){
if(n==0&&m==0)
break;
else{
a=1;
y=n-m;
if(y>m){
for(i=1;i<=m;i++){
a*=n;
n--;}
b=fun(m);}
else{
for(i=1;i<=y;i++){
a*=n;
n--;}
b=fun(y);}
sum=a/b;
cout << sum << endl;
}}
}