299
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 = 20 + 22 + 23 + 26.
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