246
Orice număr natural nenul se poate scrie în mod unic ca o sumă de puterile ale lui 2
care nu se repetă. Exemplu: 77
= 2
0
+ 2
2
+ 2
3
+ 2
6
.
Exemplu
sumpow2.in
acdg ac
sumpow2.out
beg
Important!
Programul scris trebuie să calculeze șirul de ieșire fără a transforma șirurile inițiale în numere!
#include <bits/stdc++.h> using namespace std; ifstream cin("sumpow2.in"); ofstream cout("sumpow2.out"); int f[27]; int main() { char s1[200] , s2[200]; cin >> s1 >> s2; int i = 0; while(s1[i]!='\0') { f[(int)s1[i]-96]++; i++; } i=0; while(s2[i]!='\0') { f[(int)s2[i]-96]++; i++; } for(int i = 0 ; i < 25 ; ++i) { while(f[i]-2 >= 0) f[i]-=2 , f[i+1]++; if(f[i]==1) cout << (char)(i + 96); } for(int i = 0 ; i < f[25] ; ++i) cout << 'z'; return 0; }
Comentarii