Witam, zacząłem robić zadanie na spoj silnia, nie było wielkim zaskoczeniem to że przekroczyłem limit czasu, gdzie widać na żywca przy robieniu że te zadanie zżera sporą moc obliczeniową to mój kod
#include <iostream>
#include <string>
using namespace std;
void silnia(int n)
{
unsigned long long int wynik = 1;
for (unsigned int i = 1; i <= n; i++)
{
wynik *= i;
}
wynik %= 100;
int druga;
for (druga = wynik; druga % 10 != 0; druga--)
{
}
cout << druga/10<<" "<<wynik%10<<endl;
}
int main()
{
unsigned int liczba,t;
cin >> t;
for (int i = 0; i < t; i++)
{
cin >> liczba;
silnia(liczba);
}
return 0;
}
Pytanie jest moje, jak go zmodernizować aby działał szybciej, i w ogóle działał jakieś wskazówki?