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

Suggested Problems

More from this Author9

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!