algorytm - pisemne dodawanie liczb w trójkowym systemie liczbowym

0

Cześć, napisałem taki algorytm który sumuje dwie dowolnie duże liczby naturalne w systemie dziesiątkowym:

string dodajtroj(string a, string b)
{
	string wynik = "";
	int pa = a.length()-1;
	int pb = b.length()-1;
	int p = 0;
	while (pa >=0 || pb >=0)
	{
		int ca, cb, w;
		if (pa >=0) ca = a[pa] - 48; else ca = 0;
		if (pb >=0) cb = b[pb] - 48; else cb = 0;
		w = ca + cb + p;
		p = w / 10;
		wynik = char(w%10 + 48) + wynik;
		pa--; pb--;
	}
	if (p) wynik = char(p+48) + wynik;
	return wynik;
}

Czy można w miarę prosty sposób przekształcić ten algorytm aby uważał liczby za napisane w systemie trójkowym i w takim też systemie je wypisywał?

Na przykład dla danych:

222 22121
211 12020
12 21111
2010 20122
1222 12211

Dawał wyniki:

100120
20001
21200
22202
21210

Zamiast:

22343
12231
21123
22132
13433

Pozdrawiam Paweł.

0

Można. Dokładnie tak samo, tylko inna postawa systemu. Algorytmy się nie zmieniają.

1 użytkowników online, w tym zalogowanych: 0, gości: 1