白駿1789号[獣の和|python]
質問する
異なるN個の自然数の和をSと呼ぶ.Sを知ったときの自然数Nの最高値はいくらですか?
入力
第1行は自然数S(1≦S≦4294967295)を与える.
しゅつりょく
1行目は自然数Nの最値を出力する.
入力例1
異なるN個の自然数の和をSと呼ぶ.Sを知ったときの自然数Nの最高値はいくらですか?
入力
第1行は自然数S(1≦S≦4294967295)を与える.
しゅつりょく
1行目は自然数Nの最値を出力する.
入力例1
200
サンプル出力119
1~nを加算して所定値より大きいnを探し、所定値でそのnを減算した値がnより小さいと、1~nの値で繰り返される値が加算されなければならないので、この(所定値)−(1~kの和)がnより小さい場合には、nを再び減算して値を求めた.a = input()
n = 0
while True:
if n*(n+1)/2 >= int(a):
break
n+=1
while True:
if int(a) - n*(n+1)/2 > n:
break
n-=1
print(n+1)
Reference
この問題について(白駿1789号[獣の和|python]), 我々は、より多くの情報をここで見つけました https://velog.io/@shi3do/백준-1789번-수들의-합-pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol