CSES - Datatähti 2017 alku - Results
Submission details
Task:Bittijono
Sender:Pohjantahti
Submission time:2016-10-03 18:44:02 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED10
#2ACCEPTED19
#3ACCEPTED71
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.25 s2details
#3ACCEPTED0.53 s3details

Code

#include <iostream>
#include <cmath>
//#include <fstream>

using namespace std;

double log_2(double x) {
    return log(x) / log(2.0);
}

long long getBit(long long k) {
    if (k == 0) return 0;
    
    return ((1 + getBit(k - static_cast<long long>(pow(2.0, floor(log_2(k)))))) % 2);
}

int main() {
    /*ifstream in("input.txt");
    cin.rdbuf(in.rdbuf());*/
    
    int n;
    cin >> n;
    
    for (int i = 0; i < n; ++i) {
        long long k;
        cin >> k;
        
        int res = getBit(k - 1);
        cout << res << endl;
    }

    return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
100
62
9
12
73
...

correct output
1
1
1
0
1
...

user output
1
1
1
0
1
...

Test 2

Group: 2

Verdict: ACCEPTED

input
100000
565433
141881
120108
825392
...

correct output
1
1
0
0
1
...

user output
1
1
0
0
1
...

Test 3

Group: 3

Verdict: ACCEPTED

input
100000
374768524402011755
937067109466254318
389256426086302899
932585725667010169
...

correct output
0
1
1
1
1
...

user output
0
1
1
1
1
...