Yes, the size matters for this scoring, but using m(a)=0 makes for a grossly large vector. I'm not a big fan of this type of solution, which seems to make up the shortest solutions.
If you do not care about Cody-'size' solution 66088 implements the same algorithm more efficiently (using sparse vectors instead of a 'grossly large' matrix)...
my personal favourite nevertheless is Gangyi's 57169 solution, which seems to run typically twice as fast a my version...
Test | Status | Code Input and Output |
---|---|---|
1 | Pass |
%%
a = [93 1147 473 259 629 1591 851 533 2021 86 817 2279 1763 961 1073 205]
len_correct = 5;
d_correct = 43;
[len,d] = divisor_run(a);
assert(isequal(len,len_correct) && isequal(d,d_correct))
a =
Columns 1 through 5
93 1147 473 259 629
Columns 6 through 10
1591 851 533 2021 86
Columns 11 through 15
817 2279 1763 961 1073
Column 16
205
|
2 | Pass |
%%
a = [166 553 1241 869 237 395 1079 1577];
len_correct = 3;
d_correct = 79;
[len,d] = divisor_run(a);
assert(isequal(len,len_correct) && isequal(d,d_correct))
|
3 | Pass |
%%
a = [533 205 123 287 451 697 82];
len_correct = 7;
d_correct = 41;
[len,d] = divisor_run(a);
assert(isequal(len,len_correct) && isequal(d,d_correct))
|
4 | Pass |
%%
a = [3937 7493 1397 5633 6439 3151 5617 685 7261 5069 ...
959 3973 411 2603 2329 1781 262];
len_correct = 12;
d_correct = 137;
[len,d] = divisor_run(a);
assert(isequal(len,len_correct) && isequal(d,d_correct))
|
Vectorize the digits of an Integer
269 Solvers
184 Solvers
724 Solvers
232 Solvers
321 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!