[藍橋杯] 小數第n位

小數第n位

題目

我們知道,整數做除法時,有時得到有限小數,有時得到無限循環小數。

如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。

本題的任務是:在上面的約定下,求整數除法小數點後的第n位開始的3位數。

輸入格式

一行三個整數:a b n,用空格分開。a是被除數,b是除數,n是所求的小數後位置(0<a,b,n<1000000000)

輸出格式

一行3位數字,表示:a除以b,小數後第n位開始的3位數字。

輸入樣例

282866 999000 6

輸出樣例

914

題解

思路

  • 模擬除法過程
#include <iostream>
#include <cstdio>

using namespace std;

int main () {
	int a, b, n, res = 0;
	
	cin >> a >> b >> n;
	
	for (int i = 0; i < n + 3; i ++) {
		int t = a / b, m = a % b;
		a = m * 10;
		if (i >= n) {
			res = res * 10 + t;
		}
	}
	cout << res;
	
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章