######################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 paranoid_number(n-1)*5 - paranoid_number(n-2)*6 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, new = 1,3 for k in range(n): new, old = 5*new - 6*old, new return old def main(): print("*************** Problem 5 Tests **************") for k in range(10): print(paranoid_number(k)) print(paranoid_number(100)) main()