Cody

# Problem 2801. geometric progression

Solution 1357120

Submitted on 25 Nov 2017 by Daniel Meier
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
nterms = 10; term0 = randi(10) ratio = (-1)^randi(2)*randi(10) correctsequence = term0*ratio.^(0:nterms-1); for position = 1:nterms errorsequence = correctsequence; errorsequence(position) = errorsequence(position) + (-1)^randi(2)*randi(50); [errorposition, truesequence] = find_error(errorsequence); assert(errorposition == position && isequal(truesequence, correctsequence), 'failed test 1 at position %d', position); end

term0 = 10 ratio = -4 seq = -24 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 d = 1.6667 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 f = 1 pos = 1 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -26 160 -640 2560 -10240 40960 -163840 655360 -2621440 d = -2.6000 -6.1538 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 f = 1 2 pos = 2 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 174 -640 2560 -10240 40960 -163840 655360 -2621440 d = -4.0000 -4.3500 -3.6782 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 f = 2 3 pos = 3 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 160 -679 2560 -10240 40960 -163840 655360 -2621440 d = -4.0000 -4.0000 -4.2438 -3.7703 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 f = 3 4 pos = 4 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 160 -640 2573 -10240 40960 -163840 655360 -2621440 d = -4.0000 -4.0000 -4.0000 -4.0203 -3.9798 -4.0000 -4.0000 -4.0000 -4.0000 f = 4 5 pos = 5 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 160 -640 2560 -10248 40960 -163840 655360 -2621440 d = -4.0000 -4.0000 -4.0000 -4.0000 -4.0031 -3.9969 -4.0000 -4.0000 -4.0000 f = 5 6 pos = 6 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 160 -640 2560 -10240 40928 -163840 655360 -2621440 d = -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -3.9969 -4.0031 -4.0000 -4.0000 f = 6 7 pos = 7 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 160 -640 2560 -10240 40960 -163797 655360 -2621440 d = -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -3.9990 -4.0011 -4.0000 f = 7 8 pos = 8 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655395 -2621440 d = -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0002 -3.9998 f = 8 9 pos = 9 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621469 d = -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 -4.0000 f = 9 pos = 10 seq = 10 -40 160 -640 2560 -10240 40960 -163840 655360 -2621440

2   Pass
nterms = 15; term0 = randi(10) ratio = (-1)^randi(2)*randi(10) correctsequence = term0*ratio.^(0:nterms-1); for position = 1:nterms errorsequence = correctsequence; errorsequence(position) = errorsequence(position) + (-1)^randi(2)*randi(50); [errorposition, truesequence] = find_error(errorsequence); assert(errorposition == position && isequal(truesequence, correctsequence), 'failed test 2 at position %d', position); end

term0 = 9 ratio = 10 seq = 1.0e+14 * -0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = -2.6471 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 1 pos = 1 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 6.0000 16.6667 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 1 2 pos = 2 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.1000 9.9010 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 2 3 pos = 3 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 9.9867 10.0134 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 3 4 pos = 4 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0029 9.9971 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 4 5 pos = 5 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 5 6 pos = 6 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 6 7 pos = 7 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 7 8 pos = 8 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 8 9 pos = 9 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 9 10 pos = 10 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 10 11 pos = 11 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 11 12 pos = 12 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 12 13 pos = 13 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 13 14 pos = 14 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000 d = 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 10.0000 f = 14 pos = 15 seq = 1.0e+14 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0009 0.0090 0.0900 0.9000 9.0000