AtCoderProblems 6

前回の続きです

https://atcoder.jp/contests/abc079/tasks/abc079_b
メモ化再帰も慣れてきました

N=int(input())
k={}
def y(p):
  if p in k.keys():
    return k[p]
  if p == 0:
    return 2
  elif p == 1:
    return 1
  else:
    k[p] = y(p-2)+y(p-1)
    return k[p]
print(y(N))


https://atcoder.jp/contests/abc114/tasks/abc114_b
こういう問題、for文を何回回すかで少し迷ってしまうのでちゃんと頭の中で考えたい

N=input()
l=753
sa=999999999999
for i in range(len(N)-2):
  k=int(N[i]+N[i+1]+N[i+2])
  #print(k)
  if abs(k-l)<sa: sa=abs(k-l)
print(sa)

以上