Cody

Problem 42913. Pseudo Square Root (Inspired by Project Euler 266)

Solution 2126364

Submitted on 12 Feb 2020
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 = 12;y_correct = 3; assert(isequal(PSR(x),y_correct))

2   Pass
x = 3102;y_correct = 47; assert(isequal(PSR(x),y_correct))

3   Pass
x=10000;y_correct = 100; assert(isequal(PSR(x),y_correct))

4   Fail
x=1308276133167003;y_correct = 36105377; assert(isequal(PSR(x),y_correct))

Maximum variable size allowed by the program is exceeded. Error in PSR (line 2) K = 1:ceil(x/2); Error in Test4 (line 2) assert(isequal(PSR(x),y_correct))

5   Fail
x=6469693230;y_correct = 79534; assert(isequal(PSR(x),y_correct))

Requested 3234846615x1 (24.1GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information. Error in PSR (line 2) K = 1:ceil(x/2); Error in Test5 (line 2) assert(isequal(PSR(x),y_correct))

6   Pass
p=cumprod(1:10); y=arrayfun(@(p) PSR(p),p); y_correct=[1 1 2 4 10 24 70 192 576 1890]; assert(isequal(y,y_correct))

7   Fail
x=1000000000000002; assert(isequal(PSR(PSR(x)),2))

Maximum variable size allowed by the program is exceeded. Error in PSR (line 2) K = 1:ceil(x/2); Error in Test7 (line 2) assert(isequal(PSR(PSR(x)),2))

Suggested Problems

More from this Author80

Community Treasure Hunt

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

Start Hunting!