Cody

# Problem 252. Project Euler: Problem 16, Sums of Digits of Powers of Two

Solution 1996403

Submitted on 30 Oct 2019
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
x = 0; y_correct = 1; assert(isequal(pow2_sumofdigits(x),y_correct))

a = uint64 1 a = '1' s = [] s = 1 y = 1

2   Pass
x = 1; y_correct = 2; assert(isequal(pow2_sumofdigits(x),y_correct))

a = uint64 2 a = '2' s = [] s = 2 y = 2

3   Pass
x = 15; y_correct = 26; assert(isequal(pow2_sumofdigits(x),y_correct))

a = uint64 32768 a = '32768' s = [] s = 3 s = 3 2 s = 3 2 7 s = 3 2 7 6 s = 3 2 7 6 8 y = 26

4   Fail
x = 345; y_correct = 521; assert(isequal(pow2_sumofdigits(x),y_correct))

a = uint64 18446744073709551615 a = '18446744073709551615' s = [] s = 1 s = 1 8 s = 1 8 4 s = 1 8 4 4 s = 1 8 4 4 6 s = 1 8 4 4 6 7 s = 1 8 4 4 6 7 4 s = 1 8 4 4 6 7 4 4 s = 1 8 4 4 6 7 4 4 0 s = 1 8 4 4 6 7 4 4 0 7 s = 1 8 4 4 6 7 4 4 0 7 3 s = 1 8 4 4 6 7 4 4 0 7 3 7 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 5 y = 87

Assertion failed.

5   Fail
x = 999; y_correct = 1367; assert(isequal(pow2_sumofdigits(x),y_correct))

a = uint64 18446744073709551615 a = '18446744073709551615' s = [] s = 1 s = 1 8 s = 1 8 4 s = 1 8 4 4 s = 1 8 4 4 6 s = 1 8 4 4 6 7 s = 1 8 4 4 6 7 4 s = 1 8 4 4 6 7 4 4 s = 1 8 4 4 6 7 4 4 0 s = 1 8 4 4 6 7 4 4 0 7 s = 1 8 4 4 6 7 4 4 0 7 3 s = 1 8 4 4 6 7 4 4 0 7 3 7 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 5 y = 87

Assertion failed.

6   Fail
x = 2000; y_correct = 2704; assert(isequal(pow2_sumofdigits(x),y_correct))

a = uint64 18446744073709551615 a = '18446744073709551615' s = [] s = 1 s = 1 8 s = 1 8 4 s = 1 8 4 4 s = 1 8 4 4 6 s = 1 8 4 4 6 7 s = 1 8 4 4 6 7 4 s = 1 8 4 4 6 7 4 4 s = 1 8 4 4 6 7 4 4 0 s = 1 8 4 4 6 7 4 4 0 7 s = 1 8 4 4 6 7 4 4 0 7 3 s = 1 8 4 4 6 7 4 4 0 7 3 7 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 s = 1 8 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 5 y = 87

Assertion failed.