白駿1312号[小数|python]
質問する
被除数Aと除数Bがあります.2つに分ける場合は、小数点以下のN番目の桁数を要求します.例えば、A=3、B=4、N=1の場合、A∞B=0.75のため、出力値は7となる.
入力
1行目のAおよびB(1≦A,B≦100000),N(1≦N≦100000)はスペースで囲まれている.
しゅつりょく
A∞Bの場合、小数点以下でN番目の数を出力します.
入力例1
2575と入力すると、
25/7 = 3...4、それからその4に0(x 10)を追加し直します
40/7 = 5...5、(繰り返し)
50/7 = 7...1,
10/7 = 1...3
30/7 = 4...2
20/7 =
これで2を求めることができます.
次は、このように記述されたコードです.aにaをbで割った残数を入れ、10を乗じて、最後に除いた分だけresに入れます.
被除数Aと除数Bがあります.2つに分ける場合は、小数点以下のN番目の桁数を要求します.例えば、A=3、B=4、N=1の場合、A∞B=0.75のため、出力値は7となる.
入力
1行目のAおよびB(1≦A,B≦100000),N(1≦N≦100000)はスペースで囲まれている.
しゅつりょく
A∞Bの場合、小数点以下でN番目の数を出力します.
入力例1
25 7 5
サンプル出力12
文字列に直接分割し、N番目の場所をインポートしようとすると、あまりにも大きな数字に分割すると、Pythonの数字表示のためOverflowが表示されます.だから私たちは縦書きで、小学校の時の除法で問題を解きます.2575と入力すると、
25/7 = 3...4、それからその4に0(x 10)を追加し直します
40/7 = 5...5、(繰り返し)
50/7 = 7...1,
10/7 = 1...3
30/7 = 4...2
20/7 =
2
...6これで2を求めることができます.
次は、このように記述されたコードです.aにaをbで割った残数を入れ、10を乗じて、最後に除いた分だけresに入れます.
import sys
a,b,c = map(int, sys.stdin.readline().split())
for i in range(0,c):
a = (a%b)*10
res = a//b
print(res)
Reference
この問題について(白駿1312号[小数|python]), 我々は、より多くの情報をここで見つけました https://velog.io/@shi3do/백준-1312번-소수-pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol