問題はこちら
1完
10進数をn進数に変換するコードをネットでコピペしたら、それが間違っていた。
そのせいで30分ぐらい溶けてキレそうだった(自分で書かないのが悪い)。
一応自分でも書いた。
kokizu.hatenablog.com
A
T = int(input()) def base10int(value, base): n_list = [] while value != 0: value, r =value // base,value % base n_list.append(r) return n_list[::-1] for i in range(T): N, K = list(map(int, input().split())) # print(N,K) # N を3^mの和の形で表した時、mの数の最小値はいくつか求める -> Nを3進数で表して各桁の和をとる N_3 = base10int(N, 3) sum_N_3 = sum(N_3) # print(N_3) # print(sum_N_3 ) # sum(N_3) + 2a = K ならYes、それ以外ならNo if K-sum_N_3 >= 0 and ( K-sum_N_3) % 2 == 0: print("Yes") else: print("No")