白俊1110号.
初めて問題を見て、私は混乱して、もし1桁(10未満)ならば、0を前にプラスします.
したがって,最初は入力値が10未満の場合/以上の場合に分けて求め,10未満の場合は入力をstrに変換し,0を加えてインデックス/スライドを行うため,多くの時間を遅らせた.
しかし、私が9を手に入れたとき、これは9か09と変わらないことを知っていて、私の考えは浅いと思います.
ああ...09のような私は...
n = int(input())
num=n#numという変数に入力した数値を保存
iter=0#iter変数を宣言して繰返しサイクルを抽出
while True :
#各ビット数は分割し、2つのビット数のうち上位はシェア、下位は残り
tennum=num/10#の前の位置がシェアなので//を使ってシェアを取るのですが、大体十字という意味です
onenum=num%10#の後ろの位置は残りなので、%を使って残りの位置を探します.大体の仕事を意味します.
sumDiv=(tenum+onenum)%10#に2つの接尾辞を付けるため、2つのプロトコルの残りの部分
num=oneNum*10+sumDiv#新しい数値が作成された場合はnumに再格納しnと比較
iter+=1
if(num==n) :
break
print(iter)Reference
この問題について(白俊1110号.), 我々は、より多くの情報をここで見つけました https://velog.io/@kyleee/백준-1110번-파이썬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol