Cześć! Moglibyście sprawdzić co jest nie tak z moim kodem? Muszę napisać program, który dla wczytanych liczb "a, b, c" z zakresu 1...1000 ma obliczyć (a+b+c)!/(a!*b!*c!). Jako, że wynik może być bardzo duży to należy wypisać resztę z dzielenia przez 1 000 000 007.
#include<iostream>
#include<cstdio>
using namespace std;
long long int a, b, c, d = 1000000007, suma, sil_sum = 1, sil_a = 1, sil_b = 1, sil_c = 1;
int main()
{
ios_base::sync_with_stdio(0);
cin >> a >> b >> c;
suma = a+b+c;
for(int i = 1; i <= suma; i++)
{
sil_sum *= i;
sil_sum %= d;
}
for(int i = 1; i <= a; i++)
{
sil_a *= i;
sil_a %= d;
}
for(int i = 1; i <= b; i++)
{
sil_b *= i;
sil_b %= d;
}
for(int i = 1; i <= c; i++)
{
sil_c *= i;
sil_c %= d;
}
cout << (sil_sum/(sil_a*sil_b*sil_c)) % d;
cin.ignore();
getchar();
return 0;
}