Cody

# Problem 47. Extract leading non-zero digit

Solution 1567654

Submitted on 22 Jun 2018 by Martin C.
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))

x = 1.0e+05 * 0.0010 0.0002 0.0003 0.0000 0.0000 0.0000 0.0000 1.3453 s = '100' c = 1 y = 1 s = '23' c = 1 y = 1 2 s = '34' c = 1 y = 1 2 3 s = '0.005' c = 1 c = 2 c = 3 c = 4 c = 5 y = 1 2 3 5 s = '0.46666' c = 1 c = 2 c = 3 y = 1 2 3 5 4 s = '0.555' c = 1 c = 2 c = 3 y = 1 2 3 5 4 5 s = '1' c = 1 y = 1 2 3 5 4 5 1 s = '134534' c = 1 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))

x = 1.0e+03 * 0.0570 0.0002 8.9130 0.0630 0.0008 s = '57' c = 1 y = 5 s = '0.2' c = 1 c = 2 c = 3 y = 5 2 s = '8913' c = 1 y = 5 2 8 s = '63' c = 1 y = 5 2 8 6 s = '0.83813' c = 1 c = 2 c = 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))

x = 0.4336 0.3426 3.5784 2.7694 1.3499 s = '0.4336' c = 1 c = 2 c = 3 y = 4 s = '0.3426' c = 1 c = 2 c = 3 y = 4 3 s = '3.5784' c = 1 y = 4 3 3 s = '2.7694' c = 1 y = 4 3 3 2 s = '1.3499' c = 1 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))

x = 0.3000 0.1000 0.0000 0.5000 0.0020 s = '0.3' c = 1 c = 2 c = 3 y = 3 s = '0.1' c = 1 c = 2 c = 3 y = 3 1 s = '2e-08' c = 1 y = 3 1 2 s = '0.5' c = 1 c = 2 c = 3 y = 3 1 2 5 s = '0.002' c = 1 c = 2 c = 3 c = 4 c = 5 y = 3 1 2 5 2