Hej, mam pytanko o wypisywanie z danej liczby jej cyfr dziesiątek i jedności. Jest to część zadania ze SPOJa.
System nie zaliczył mi takiego rozwiązania:
#include <iostream>
#include <string>
using namespace std;
long int silnia (long int n)
{
if(n==0) return 1;
else return n*silnia(n-1);
}
int main()
{
int p; //liczba przypadkow
cin>>p;
while (p--)
{
int d; //dlugosc lancucha
unsigned long int n; //wartosc do silni
cin>>n;
if (n<10) // PYTAM O TEN FRAGMENT
{
string str = to_string(silnia(n));
d = str.length();
cout<<str[d-2]<<" "<<str[d-1]<<endl;
} // PYTAM O TEN FRAGMENT
else
{
cout<<"0 "<<"0";
}
}
return 0;
}
Zaliczył natomiast po takiej zmianie zaznaczonego fragmentu w kodzie:
if (n<10)
{
cout<<(silnia(n))/10%10<<" "<<(silnia(n)%10)<<endl;
}
Nie rozumiem co jest złego w pierwszym sposobie, proszę o pomoc!