Witam, zwracą się ponownie z prośba o pomoc otóż:
long double silnia(long double n)
{
if(n==1||n==0) return 1;
else return n*silnia(n-1);
}
int main()
{
cin>>test;
system("cls");
for(int i=1; i<=test; i++)
{
cin>>n;
system("cls");
stringstream ss;
ss<< silnia(n) <<endl;
string liczba= ss.str();
long double a=liczba.length();
if (a-3<0)
cout<<"0"<<" "<<liczba[a-2]<<endl;
else
cout<<liczba[a-3]<<" "<<liczba[a-2]<<endl;
} return 0;
}
long double silnia(long int n)
{
if(n==1||n==0) return 1;
else return n*silnia(n-1);
}
int main()
{
cin>>test;
system("cls");
for(int i=1; i<=test; i++)
{
cin>>n;
cout<<silnia(n)<<endl;
stringstream ss;
ss<< silnia(n) <<endl;
string liczba= ss.str();
long double b=liczba.length();
if(b>3)
{
for(int i=1; i<b; i++)
{
a=silnia(n)/10;
}
cout<<a;
unsigned result=a;
unsigned last = result % 10;
unsigned next = result / 10;
}
else
{
unsigned result=silnia(n);
unsigned last = result % 10;
unsigned next = result / 10;
cout<<next<<" "<<last<<endl;
}
}
return 0;
}
Dostałem super podpowiedż odnośnie zakończenia zadania w serwisie Spoj. Niestety jednak pozastje mi problem silni, gdyż nie wiem jak uzyskać ogormne liczby np 999999! i wyciagnąc z niej tylko cyfry dziesiątek i jedności. Starałem się to jakoś ogarnąć tworzac ulepszona wersję programu (2 załączony program). Ale niestey nie działa na silnię. Bardzo bym prosił o pomoc. Dopiero się ucze programować, dlatego prosiłbym o pomoc i szczegółowe rozwiązanie problemu.
Bardzo dziękuje i pozdrawiam :)