Cody

# Problem 47. Extract leading non-zero digit

Solution 661382

Submitted on 26 Apr 2015 by Li Yjie
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+15 * 0.0010 0.0002 0.0003 0.0000 0.0000 0.0000 0.0000 1.3453 c = 1000000000000 d = 1 c = 230000000000 d = 12 c = 340000000000 d = 123 c = 50000000 d = 1235 c = 4666640000 d = 12354 c = 5550000000 d = 123545 c = 10000000000 d = 1235451 c = 1345340000000000 d = 12354511 d = 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+13 * 0.0570 0.0002 8.9130 0.0630 0.0008 c = 570000000000 d = 5 c = 2000000000 d = 52 c = 89130000000000 d = 528 c = 630000000000 d = 5286 c = 8381270000 d = 52868 d = 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 = 1.0e+10 * 0.4336 0.3426 3.5784 2.7694 1.3499 c = 4336000000 d = 4 c = 3426000000 d = 43 c = 35784000000 d = 433 c = 27694000000 d = 4332 c = 13499000000 d = 43321 d = 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 = 1.0e+09 * 3.0000 1.0000 0.0000 5.0000 0.0200 c = 3000000000 d = 3 c = 1000000000 d = 31 c = 200 d = 312 c = 5000000000 d = 3125 c = 20000000 d = 31252 d = 3 1 2 5 2