from rt import * ######################Problem 5########################### def paranoid_number(n): """prec: n is a nonnegative integer postc: returns the nth paranoid number paranoid_number(0) = 1 paranoid_number(1) = 3 paranoid_number(n+2) = 5*paranoid_number(n+1) - 6*paranoid_number(n) """ if n == 0: return 1 if n == 1: return 3 return 5*paranoid_number(n-1) - 6*paranoid_number(n - 2) def paranoid_number(n): """prec: n is a nonnegative integer postc: returns the nth paranoid number paranoid_number(0) = 1 paranoid_number(1) = 3 paranoid_number(n+2) = 5*paranoid_number(n+1) - 6*paranoid_number(n) """ if n == 0: return 1 if n == 1: return 3 old = 1 new = 3 for k in range(n): new, old = 5*new - 6*old, new return old def main(): print("*************** Problem 5 Tests **************") print(run_test(paranoid_number, 1, [0])) print(run_test(paranoid_number, 3, [1])) print(run_test(paranoid_number, 729, [6])) for k in range(1,11): print(paranoid_number(k)) print(paranoid_number(10000)) main()