Cody

Problem 2595. Polite numbers. Politeness.

Solution 704066

Submitted on 21 Jul 2015 by Tomasz
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 = 1; y_correct = 0; assert(isequal(politeness(x),y_correct))

ans = 1 ans = 0

2   Pass
%% x = 2; y_correct = 0; assert(isequal(politeness(x),y_correct))

ans = 2 ans = 0

3   Pass
%% x = 3; y_correct = 1; assert(isequal(politeness(x),y_correct))

ans = 3 ans = 1

4   Pass
%% x = 7; y_correct = 1; assert(isequal(politeness(x),y_correct))

ans = 7 ans = 1

5   Pass
%% x = 9; y_correct = 2; assert(isequal(politeness(x),y_correct))

ans = 3 3 ans = 2

6   Pass
%% x = 15; y_correct = 3; assert(isequal(politeness(x),y_correct))

ans = 3 5 ans = 3

7   Pass
%% x = 18; y_correct = 2; assert(isequal(politeness(x),y_correct))

ans = 2 3 3 ans = 2

8   Pass
%% x = 21; y_correct = 3; assert(isequal(politeness(x),y_correct))

ans = 3 7 ans = 3

9   Pass
%% x = 1024; y_correct = 0; assert(isequal(politeness(x),y_correct))

ans = 2 2 2 2 2 2 2 2 2 2 ans = 0

10   Pass
%% x = 1025; y_correct = 5; assert(isequal(politeness(x),y_correct))

ans = 5 5 41 ans = 5

11   Pass
%% x = 25215; y_correct = 11; assert(isequal(politeness(x),y_correct))

ans = 3 5 41 41 ans = 11

12   Pass
%% x = 62; y_correct = 1; assert(isequal(politeness(x),y_correct))

ans = 2 31 ans = 1

13   Pass
%% x = 63; y_correct = 5; assert(isequal(politeness(x),y_correct))

ans = 3 3 7 ans = 5

14   Pass
%% x = 65; y_correct = 3; assert(isequal(politeness(x),y_correct))

ans = 5 13 ans = 3

15   Pass
%% % anti-lookup & clue nums=primes(200); pattern=[1 nums([false ~randi([0 25],1,45)])]; x=prod(pattern)*2^randi([0 5]); y_correct=2^numel(pattern)/2-1; assert(isequal(politeness(x),y_correct))

ans = 2 2 2 2 47 97 149 191 ans = 15

16   Pass
%% for k=randi(2e4,1,20) assert(isequal(politeness(k*(k-1))+1,(politeness(k)+1)*(politeness(k-1)+1))) end

ans = 2 2 3 5 7 233 1997 ans = 31 ans = 2 2 3 5 233 ans = 7 ans = 7 1997 ans = 3 ans = 2 2 3 7 7 13 53 ans = 23 ans = 7 7 13 ans = 5 ans = 2 2 3 53 ans = 3 ans = 2 3 3 5 11 179 547 ans = 47 ans = 2 3 3 547 ans = 5 ans = 5 11 179 ans = 7 ans = 2 5 107 167 1787 ans = 15 ans = 2 5 1787 ans = 3 ans = 107 167 ans = 3 ans = 2 3 3 5 7 13 17 19 113 ans = 191 ans = 2 5 7 13 19 ans = 15 ans = 3 3 17 113 ans = 11 ans = 2 2 2 11 97 137 151 ans = 15 ans = 97 137 ans = 3 ans = 2 2 2 11 151 ans = 3 ans = 2 3 3 3 3 5 31 251 ans = 39 ans = 3 3 3 3 31 ans = 9 ans = 2 5 251 ans = 3 ans = 2 2 2 2 2 2 2 2 2 2 2 2 17 241 ans = 3 ans = 17 241 ans = 3 ans = 2 2 2 2 2 2 2 2 2 2 2 2 ans = 0 ans = 2 2 2 2 5 47 151 257 ans = 15 ans = 2 2 2 2 5 151 ans = 3 ans = 47 257 ans = 3 ans = 2 2 2 3 523 12553 ans = 7 ans = 12553 ans = 1 ans = 2 2 2 3 523 ans = 3 ans = 2 2 2 3 1319 3517 ans = 7 ans = 2 2 2 1319 ans = 1 ans = 3 3517 ans = 3 ans = 2 2 5 11 29 59 941 ans = 31 ans = 11 29 59 ans = 7 ans = 2 2 5 941 ans = 3 ans = 2 5 19 31 43 137 ans = 31 ans = 43 137 ans = 3 ans = 2 5 19 31 ans = 7 ans = 2 2 3 3 67 151 281 ans = 23 ans = 67 151 ans = 3 ans = 2 2 3 3 281 ans = 5 ans = 2 3 3 3 5 5 11 14851 ans = 47 ans = 14851 ans = 1 ans = 2 3 3 3 5 5 11 ans = 23 ans = 2 2 2 2 2 2 2 3 5 7 137 167 ans = 31 ans = 2 2 2 2 2 2 2 137 ans = 1 ans = 3 5 7 167 ans = 15 ans = 2 2 2 3 5 71 947 ans = 15 ans = 3 947 ans = 3 ans = 2 2 2 5 71 ans = 3 ans = 2 2 2 2 3 7 13 89 ans = 15 ans = 2 2 2 2 3 13 ans = 3 ans = 7 89 ans = 3 ans = 2 7 7 151 14797 ans = 11 ans = 2 7 7 151 ans = 5 ans = 14797 ans = 1 ans = 2 2 3 1619 19427 ans = 7 ans = 2 2 3 1619 ans = 3 ans = 19427 ans = 1

Suggested Problems

More from this Author41

Community Treasure Hunt

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

Start Hunting!