Witam. Mam problem z zadaniem z SPOJ'a dotyczącym dwóch cyfr silni. Program działa prawidłowo, lecz rezultatem jest, iż przekroczyłem limit czasu. Czy jest jakiś lepszy algorytm? Oto kod:
cin >> D;
for (int i=1; i<=D; i++)
{
w = 1;
cin >> n;
for (int j=1; j<=n; j++) w *= j;
cout << (w - (w%10)) / 10 << " " << w - (w - (w%10)) << endl;
}