ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 17.02.2019 15:34:23

ამოცანა: ორის ხარისხების ჯამი

მომხმარებელი: andronos

ვერდიქტი: სრული ამოხსნა

შეფასება: 100.0 ქულა







#include <bits/stdc++.h>

using namespace std;

long long n;
vector <int> v , vans;

int main() {
    cin >> n;
    
    while ( n ) {
        v.push_back(n % 2);
        n /= 2;
    }
    
    int num = 1;
    
    for ( int i = 0; i < v.size(); i++ ) {
        if ( v[i] == 1 )
            vans.push_back(num);
            
        num *= 2;
    }
    
    reverse(vans.begin() , vans. end());
    
    for ( int i = 0; i < vans.size(); i++ ) {
        cout << vans[i] << "  ";
    }
}

ტესტები

შემავალი მონაცემები
11
გამომავალი მონაცემები
8 2 1
თქვენი პასუხი
8  2  1  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
16
გამომავალი მონაცემები
16
თქვენი პასუხი
16  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
17
გამომავალი მონაცემები
16 1
თქვენი პასუხი
16  1  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
3
გამომავალი მონაცემები
2 1
თქვენი პასუხი
2  1  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
2000
გამომავალი მონაცემები
1024 512 256 128 64 16
თქვენი პასუხი
1024  512  256  128  64  16  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
4095
გამომავალი მონაცემები
2048 1024 512 256 128 64 32 16 8 4 2 1
თქვენი პასუხი
2048  1024  512  256  128  64  32  16  8  4  2  1  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
4160
გამომავალი მონაცემები
4096 64
თქვენი პასუხი
4096  64  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
11111
გამომავალი მონაცემები
8192 2048 512 256 64 32 4 2 1
თქვენი პასუხი
8192  2048  512  256  64  32  4  2  1  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
20020
გამომავალი მონაცემები
16384 2048 1024 512 32 16 4
თქვენი პასუხი
16384  2048  1024  512  32  16  4  
ჩეკერის პასუხი
YES
შემავალი მონაცემები
29997
გამომავალი მონაცემები
16384 8192 4096 1024 256 32 8 4 1
თქვენი პასუხი
16384  8192  4096  1024  256  32  8  4  1  
ჩეკერის პასუხი
YES