白駿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
25 7 5
サンプル出力1
2
文字列に直接分割し、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)