Thursday, July 17, 2014

UVa - 10019 - Funny Encryption Method

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int convert_binary(int z){
    int cnt = 0;
    while(z > 0){
            if(z%2 == 1)cnt++;
            z /= 2;
        }
    return cnt;
}

int main(){
    int t, n, b1, m, mod, b2;
    vector <int> container;
    cin >> t;
    while(t--){
        cin >> n; b1 = 0, m = n, b2 = 0;
        b1 = convert_binary(n);
        while(m > 0){
            mod = m % 10;
            m -= mod;
            m /= 10;
            container.push_back(mod);
        }
        int l = container.size(), sum = 0;
        for(int i = 0; i < l; i++)sum += (container[i] * pow(16,i));
        b2 = convert_binary(sum);
        cout << b1 << " " << b2 << endl;
        container.clear();
    }
    return 0;
}

No comments:

Post a Comment