藍橋杯 歷屆試題 小數第n位

2021-08-28 10:29:50 字數 812 閱讀 6572

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

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

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

輸入格式

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

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

樣例輸入

1 8 1

樣例輸出

樣例輸入

1 8 3

樣例輸出

樣例輸入

282866 999000 6

樣例輸出

簡單來看此題為解決大數的除法,主要應先找到小數點第k位。

1.首先想到的是用迴圈來解決此問題,**如下

#include#include#include#include#includeusing namespace std;

void deal(long long a, long long b , long long n)

if(i>=n)

但這樣由於資料較大會出現超時錯誤

2.因此對**進行優化處理            用小數點來快速對k定位

(ac**如下:)

#include using namespace std;

int main()

for(i=0;i=n-1)

cout

} return 0;

}

歷屆試題 小數第n位 藍橋杯

問題描述 我們知道,整數做除法時,有時得到有限小數,有時得到無限迴圈小數。如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。本題的任務是 在上面的約定下,求整數除法小數點後的第n位開始的3位數。輸入格式 一行三個整數 a b n,用空格分開。a是被除數,b是除數,n是所求的小數後位置 0...

藍橋杯 歷屆試題 小數第n位

問題描述 我們知道,整數做除法時,有時得到有限小數,有時得到無限迴圈小數。如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。本題的任務是 在上面的約定下,求整數除法小數點後的第n位開始的3位數。輸入格式 一行三個整數 a b n,用空格分開。a是被除數,b是除數,n是所求的小數後位置 0...

藍橋杯歷屆試題 小數第n位

問題描述 我們知道,整數做除法時,有時得到有限小數,有時得到無限迴圈小數。如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。本題的任務是 在上面的約定下,求整數除法小數點後的第n位開始的3位數。輸入格式 一行三個整數 a b n,用空格分開。a是被除數,b是除數,n是所求的小數後位置 0...