[伯俊]1065 Python(単数)
コード#コード#
def hansu(num):
count = 0
for i in range(1, num+1):
if i<100:
count += 1
else:
num_list = list(map(int, str(i)))
if num_list[1]-num_list[0] == num_list[2]-num_list[1]:
count += 1
return count
if __name__ == "__main__":
n = int(input())
print(hansu(n))
に答える
1以上、n以下の数を求める関数は以下の通りである.
def hansu(num):
count = 0
for i in range(1, num+1):
if i<100:
count += 1
else:
num_list = list(map(int, str(i)))
if num_list[1]-num_list[0] == num_list[2]-num_list[1]:
count += 1
return count
まず、1つの数をゼロに初期化します.1つの数がNより小さいかどうかを繰り返しチェックします.
100未満の数(ex.99)は1つの数でなければならないのでcount+=1です.
その他の場合は、100以上、1000以下です.
num_list[1]-num_list[0] == num_list[2]-num_list[1]
等差数列か否かを判別する.1000の場合は等差数列ではなく,考慮する必要がないので,擬似条件式で等差数列であると判別できる.
Reference
この問題について([伯俊]1065 Python(単数)), 我々は、より多くの情報をここで見つけました https://velog.io/@0sunset0/백준-1065-파이썬-한수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol