Cody

# Problem 47. Extract leading non-zero digit

Solution 717796

Submitted on 19 Aug 2015 by Ian Riley
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 = [100 23 -34 0.005 -0.466664 -0.555 1 134534]; y_correct = [1 2 3 5 4 5 1 1]; assert(isequal(leadingDigit(x),y_correct))

y = 0 0 0 0 0 0 0 0 strg = 100 y = 1 0 0 0 0 0 0 0 strg = 23 y = 1 3 0 0 0 0 0 0 y = 1 2 0 0 0 0 0 0 strg = -34 y = 1 2 4 0 0 0 0 0 y = 1 2 3 0 0 0 0 0 strg = 0.005 y = 1 2 3 5 0 0 0 0 strg = -0.46666 y = 1 2 3 5 6 0 0 0 y = 1 2 3 5 6 0 0 0 y = 1 2 3 5 6 0 0 0 y = 1 2 3 5 6 0 0 0 y = 1 2 3 5 4 0 0 0 strg = -0.555 y = 1 2 3 5 4 5 0 0 y = 1 2 3 5 4 5 0 0 y = 1 2 3 5 4 5 0 0 strg = 1 y = 1 2 3 5 4 5 1 0 strg = 134534 y = 1 2 3 5 4 5 1 4 y = 1 2 3 5 4 5 1 3 y = 1 2 3 5 4 5 1 5 y = 1 2 3 5 4 5 1 4 y = 1 2 3 5 4 5 1 3 y = 1 2 3 5 4 5 1 1

2   Pass
%% x = [57 -0.2 8913 -63 0.838127]; y_correct = [5 2 8 6 8]; assert(isequal(leadingDigit(x),y_correct))

y = 0 0 0 0 0 strg = 57 y = 7 0 0 0 0 y = 5 0 0 0 0 strg = -0.2 y = 5 2 0 0 0 strg = 8913 y = 5 2 3 0 0 y = 5 2 1 0 0 y = 5 2 9 0 0 y = 5 2 8 0 0 strg = -63 y = 5 2 8 3 0 y = 5 2 8 6 0 strg = 0.83813 y = 5 2 8 6 3 y = 5 2 8 6 1 y = 5 2 8 6 8 y = 5 2 8 6 3 y = 5 2 8 6 8

3   Pass
%% x = [-0.4336 0.3426 3.5784 2.7694 -1.3499]; y_correct = [4 3 3 2 1]; assert(isequal(leadingDigit(x),y_correct))

y = 0 0 0 0 0 strg = -0.4336 y = 6 0 0 0 0 y = 3 0 0 0 0 y = 3 0 0 0 0 y = 4 0 0 0 0 strg = 0.3426 y = 4 6 0 0 0 y = 4 2 0 0 0 y = 4 4 0 0 0 y = 4 3 0 0 0 strg = 3.5784 y = 4 3 4 0 0 y = 4 3 8 0 0 y = 4 3 7 0 0 y = 4 3 5 0 0 y = 4 3 3 0 0 strg = 2.7694 y = 4 3 3 4 0 y = 4 3 3 9 0 y = 4 3 3 6 0 y = 4 3 3 7 0 y = 4 3 3 2 0 strg = -1.3499 y = 4 3 3 2 9 y = 4 3 3 2 9 y = 4 3 3 2 4 y = 4 3 3 2 3 y = 4 3 3 2 1

4   Pass
%% x = [0.3000 -0.1 -0.00000002 0.5 0.002]; y_correct = [3 1 2 5 2]; assert(isequal(leadingDigit(x),y_correct))

y = 0 0 0 0 0 strg = 0.3 y = 3 0 0 0 0 strg = -0.1 y = 3 1 0 0 0 strg = -2e-08 y = 3 1 8 0 0 y = 3 1 2 0 0 strg = 0.5 y = 3 1 2 5 0 strg = 0.002 y = 3 1 2 5 2