#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
void solve(){
int n, k = 0;
cin >> n;
vector<int> bits;
while(n > 0){
bits.push_back(n % 2);
n /= 2;
}
for(int i = 0; i < bits.size(); i++)
k += (1 - bits[i]) * pow(2, i);
cout << k;
int main(){
solve();
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
void solve(){
int n, k = 0;
cin >> n;
vector<int> bits;
while(n > 0){
bits.push_back(n % 2);
n /= 2;
}
for(int i = 0; i < bits.size(); i++)
k += (1 - bits[i]) * pow(2, i);
cout << k;
}
int main(){
solve();
}
Да и как Страуструп завещал, лучше всегда использовать векторы, а не обычные массивы