Math 06小数(2581)
Math 06小数(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が出力される.
に答える
値
コード#コード#
import sys
sys.stdin = open("input.txt","rt")
def input():
return sys.stdin.readline().rstrip()
a =int(input())
b =int(input())
N = max(a,b)
sum = 0
res = [0]*(N+1)
arr= [0]*(N+1)
minNum = 2147000000
for i in range(2,b+1):
if arr[i]==0:
res[i] = i
for j in range(i,N+1,i):
arr[j] = 1
res = res[min(a,b):max(a,b)+1]
if max(res) == 0:
print(-1)
exit()
for x in res:
if x != 0:
sum += x
if x < minNum:
minNum = x
print(sum)
print(minNum)
学識
小数点を探す方法は排水を検査することです
コメント
Reference
この問題について(Math 06小数(2581)), 我々は、より多くの情報をここで見つけました https://velog.io/@angel_eugnen/Math06소수2581テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol