vector<int> countBits(int n) {
vector<int> ans;
for (int i = 0; i <= n; i++) {
int count = 0;
for (int b = 0; b < 32; b++) {
if ((i >> b) & 1) count++;
}
ans.push_back(count);
}
return ans;
}
public int[] countBits(int n) {
int[] ans = new int[n + 1];
for (int i = 0; i <= n; i++) {
int count = 0;
for (int b = 0; b < 32; b++) {
if (((i >>> b) & 1) != 0) count++;
}
ans[i] = count;
}
return ans;
}
def count_bits(n):
ans = []
for i in range(n + 1):
count = 0
for b in range(32):
if (i >> b) & 1: count += 1
ans.append(count)
return ans
function countBits(n: number): number[] {
const ans: number[] = [];
for (let i = 0; i <= n; i++) {
let count = 0;
for (let b = 0; b < 32; b++) {
if ((i >>> b) & 1) count++;
}
ans.push(count);
}
return ans;
}
vector<int> countBits(int n) {
vector<int> ans;
for (int i = 0; i <= n; i++) {
int count = 0, x = i;
while (x != 0) {
x &= x - 1;
count++;
}
ans.push_back(count);
}
return ans;
}
public int[] countBits(int n) {
int[] ans = new int[n + 1];
for (int i = 0; i <= n; i++) {
int count = 0, x = i;
while (x != 0) {
x &= x - 1;
count++;
}
ans[i] = count;
}
return ans;
}
def count_bits(n):
ans = []
for i in range(n + 1):
count, x = 0, i
while x != 0:
x &= x - 1
count += 1
ans.append(count)
return ans
function countBits(n: number): number[] {
const ans: number[] = [];
for (let i = 0; i <= n; i++) {
let count = 0, x = i;
while (x !== 0) {
x &= x - 1;
count++;
}
ans.push(count);
}
return ans;
}
vector<int> countBits(int n) {
vector<int> ans(n + 1, 0);
for (int i = 1; i <= n; i++) {
ans[i] = ans[i >> 1] + (i & 1);
}
return ans;
}
public int[] countBits(int n) {
int[] ans = new int[n + 1];
for (int i = 1; i <= n; i++) {
ans[i] = ans[i >> 1] + (i & 1);
}
return ans;
}
def count_bits(n):
ans = [0] * (n + 1)
for i in range(1, n + 1):
ans[i] = ans[i >> 1] + (i & 1)
return ans
function countBits(n: number): number[] {
const ans = new Array<number>(n + 1).fill(0);
for (let i = 1; i <= n; i++) {
ans[i] = ans[i >> 1] + (i & 1);
}
return ans;
}
vector<int> countBits(int n) {
vector<int> ans(n + 1, 0);
for (int i = 1; i <= n; i++) {
ans[i] = ans[i & (i - 1)] + 1;
}
return ans;
}
public int[] countBits(int n) {
int[] ans = new int[n + 1];
for (int i = 1; i <= n; i++) {
ans[i] = ans[i & (i - 1)] + 1;
}
return ans;
}
def count_bits(n):
ans = [0] * (n + 1)
for i in range(1, n + 1):
ans[i] = ans[i & (i - 1)] + 1
return ans
function countBits(n: number): number[] {
const ans = new Array<number>(n + 1).fill(0);
for (let i = 1; i <= n; i++) {
ans[i] = ans[i & (i - 1)] + 1;
}
return ans;
}