TIL 26|プラス記号期間(標準1110 python)
コード解析
正しいコード
# 자료 입력
N = int(input())
# 문제 풀이
check = N
temp = 0
new_N = 0
cycle_count = 0
while True:
temp = (N//10) + (N%10) -----------------(1)
new_N = (N % 10)*10 + (temp % 10)
cycle_count += 1
N = new_N -------------------------------(2)
if new_N == check: ----------------------(3)
break
print(cycle_count)
(1)入力値を10ビットと1ビットに分ける.(2)Nの値はnewNで上書きされるので,check変数が必要である.
(3)計算された値が最初に入力された値と同じである場合、重複文を終了する.
エラーコードとその他のメソッドの解決
# 자료 입력
N = int(input())
# 문제 풀이
temp = 0
new_N = 0
cycle_count = 0
while True:
temp = (N//10)+(N % 10)
new_N = (N % 10)*10 + (temp % 10)
cycle_count += 1
if N == new_N:
break
print(cycle_count)
import sys
n= str(input())
check = n
cnt = 0
while True:
sum = 0
for char in n:
sum += int(char)
new_num = n[-1]+str(sum)[-1]
cnt +=1
if new_num == check:
print(cnt)
break
else:
n = new_num
参考資料
https://www.acmicpc.net/problem/1110
Reference
この問題について(TIL 26|プラス記号期間(標準1110 python)), 我々は、より多くの情報をここで見つけました https://velog.io/@mygomi/TIL-26テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol