演習課題「区間内の偶数の個数と奇数の個数」
整数n,x,yと長さnの配列aが与えられるので、a[x],a[x+1],...,a[y]の区間内の偶数の個数と奇数の個数をこの順に改行区切りで出力してください。
入力を受け取るコードがすでに用意されているので、コードを書き足してプログラムを完成させてください。
期待する出力値
2
3
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#04:区間内の個数
このチャプターでは、レベルアップ問題集「累積和メニュー」の「区間内の個数 4」の問題を解いてみます。
n, x, y = map(int, input().split())
a = [int(x) for x in input().split()]
# 長さnの配列(リスト)bを用意
b = [0] * n
# iを0からn-1まで繰り返す
for i in range(n):
# a[i]が偶数ならb[i]=1,奇数ならb[i]=0とする
if a[i] % 2 == 0:
b[i] = 1
# 累積和を格納する長さn+1の配列(リスト)sを0で初期化
s = [0] * (n+1)
# iを0からn-1まで繰り返す
for i in range(n):
# s[i+1]にs[i]+b[i]を代入
s[i+1] = s[i] + b[i]
# s[y+1]-s[x]を出力
print(s[y+1] - s[x])
10 2 8
0 1 2 3 4 5 6 7 8 9
ログインすると採点できます
コードの実行