Cody

Problem 2738. Sideways sum

Solution 913370

Submitted on 22 Jun 2016 by Aki Kangasmäki
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
N = 1; num_ones = 1; assert(isequal(popcount(N),num_ones))

population = 1

2   Pass
N = 2; num_ones = 1; assert(isequal(popcount(N),num_ones))

population = 1

3   Pass
N = 3; num_ones = 2; assert(isequal(popcount(N),num_ones))

population = 2

4   Pass
for num_ones = 3:10 N = 2^num_ones-1; assert(isequal(popcount(N),num_ones)) end

population = 3 population = 4 population = 5 population = 6 population = 7 population = 8 population = 9 population = 10

5   Pass
for num_ones = 1:50 N = sum(2.^(find(randperm(50)<=num_ones)-1)); assert(isequal(popcount(N),num_ones)) end

population = 1 population = 2 population = 3 population = 4 population = 5 population = 6 population = 7 population = 8 population = 9 population = 10 population = 11 population = 12 population = 13 population = 14 population = 15 population = 16 population = 17 population = 18 population = 19 population = 20 population = 21 population = 22 population = 23 population = 24 population = 25 population = 26 population = 27 population = 28 population = 29 population = 30 population = 31 population = 32 population = 33 population = 34 population = 35 population = 36 population = 37 population = 38 population = 39 population = 40 population = 41 population = 42 population = 43 population = 44 population = 45 population = 46 population = 47 population = 48 population = 49 population = 50

6   Pass
N = 23; num_ones = 4; assert(isequal(popcount(N),num_ones))

population = 4

7   Pass
N = 123; num_ones = 6; assert(isequal(popcount(N),num_ones))

population = 6

8   Pass
N = 123456; num_ones = 6; assert(isequal(popcount(N),num_ones))

population = 6

9   Pass
N = 1234567; num_ones = 11; assert(isequal(popcount(N),num_ones))

population = 11

10   Pass
N = 1125899906842501; num_ones = 45; assert(isequal(popcount(N),num_ones))

population = 45

Suggested Problems

More from this Author41