A問題 Libra
1 2 3 4 5 6 7 |
a,b,c,d = map(int, input().split()) if a+b > c+d: print('Left') elif a+b == c+d: print('Balanced') elif a+b < c+d: print('Right') |
C問題 Multiple Gift
方針
問題文から、以下の条件を満たす必要があります。
①解答となる数列Aの各要素は1つ前の倍数であること
②解答となる数列Aの各要素は1つ前の要素よりも大きいこと
③Aは入力値X以上、入力値Y以下の長さの数列であること
①だけであれば、各要素は1つ前の要素に1以上の整数倍をかければ良いのですが、
②の条件があるため、各要素は1つ前の要素に2以上の整数倍をかける必要があります。
また、できるだけ数列Aの要素数を大きくするため、各要素の数字が小さくなる2を繰り返しかけることになります。
解答
1 2 3 4 5 6 7 8 |
x,y = map(int, input().split()) t=x list = [t] while t<=y: t=t*2 #各要素は1つ前の要素を2倍して計算する if t<=y: #tがy以下の場合 list.append(t) #listに追加 print(len(list)) #listの要素数=数列Aの長さを解答として出力 |
コメント