せいためんたい


コード実装能力の育成


に質問


せいためんたい


2つの正N面体と正M面体の2つのサイコロを投げた目の和の中で最も確率の高い数字を書くプログラムを作成します.
複数の答えがある場合は、昇順で出力します.
■説明の入力
1行目は自然数NとMである.NとMは4,6,8,12,20の1つである.
■出力説明
最初の行に答えを出力します.
■入力例1
4 6
■出力例1
5 6 7

コード#コード#💻

import sys
#sys.stdin=open("input.txt", "rt")  # read text
n, m = map(int, input().split())
cnt = [0] * (n + m + 3) # 합의 개수를 저장하는 리스트, 최대값은 n+m이다.
max = -2147000

for i in range(1, n+1):     # 합의 개수를 저장
    for j in range(1, m+1):
        cnt[i+j] += 1

for i in range(n+m+1):      # 가장 큰 빈도수 찾음
    if cnt[i] > max:
        max = cnt[i]

for i in range(n+m+1):      # 가장 큰 빈도수를 가진 인덱스를 모두 출력
    if cnt[i] == max:
        print(i, end=" ")
リファレンス
  • インフラストラクチャ:Pythonアルゴリズム回答