Miałem chwilkę i napisałem to, tak jak radziliście. Poszło nawet szybciej niż myślałem i otrzymałem 100% punktów.
#include <iostream>
#include <string>
using namespace std;
string K, wynik;
short int reszta = 8, a, suma;
char cyfra, dopisanie;
int main()
{
cin >> K;
for(a = K.length()-1; a>=0; a--)
{
suma = static_cast<int>(K[a]-48) *3 + reszta;
if(suma >0)
{
reszta = (suma - (suma % 10))/10;
suma = suma - reszta*10;
}
else
{
reszta = 0;
}
dopisanie = static_cast<char>(suma%10+48);
wynik = dopisanie + wynik;
}
if(reszta>0)
{
dopisanie = static_cast<char>(reszta%10+48);
wynik = dopisanie + wynik;
}
cout << wynik;
return 0;
}
Największym problemem była konwersja int'ów na char'y i vice versa. Jeżeli, ktoś zna prostszy sposób lub ma pomysł na ulepszenie mojego kodu, pozostaje otwarty na sugestie. Bardzo wszystkim dziękuję.