2581-小数


質問する


自然数MとNが与えられた場合、M以上N以下の自然数の中からすべての小数を選択し、これらの小数の和の最大値を探すプログラムを書き出します.
例えばM=60、N=100、60以上100以下の自然数のうち、61、67、71、73、79、83、89、97の計8個があり、これらの数の和は620であり、最大値は61である.

入力


入力された第1行M、第2行N.
MとNは10000以下の自然数であり、MはN以下である.

しゅつりょく


M以上N以下の自然数のうちの少数を探し出し,第1行でその和を出力し,第2行でその中の最大値を出力する.
ただし、M以上N以下の自然数に少数がなければ、1行目に−1が出力される.

Solution


Python

M = int(input())
N = int(input())
if M == 1:
    M += 1
sosu_sum = 0
sosu = []
for a in range(M,N+1):
    flag = 0
    for i in range(2,a):
        if a%i == 0:
            flag = -1
            break
    if flag == 0:
        sosu.append(a)
        sosu_sum = sosu_sum + a

if sosu_sum == 0:
    print(-1)
else:
    print(sosu_sum)
    print(sosu[0])