題目問題描述
我們知道,整數做除法時,有時得到有限小數,有時得到無限迴圈小數。
如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。
本題的任務是:在上面的約定下,求整數除法小數點後的第n位開始的3位數。
輸入格式
一行三個整數:a b n,用空格分開。a是被除數,b是除數,n是所求的小數後位置(0輸出格式
一行3位數字,表示:a除以b,小數後第n位開始的3位數字。
樣例輸入
1 8 1
樣例輸出
樣例輸入
1 8 3
樣例輸出
樣例輸入
282866 999000 6
樣例輸出
題目注意求整數除法小數點後的第n位開始的3位數 一定是從第n位開始,是包括第n位,而不是第n位之後
有三種情況
1 整除
2 無限不迴圈小數
3 無限迴圈小數
當出現更新後的被除數等於初始被除數的情況,就說明這是迴圈的 (聽不懂沒關係看下圖)
比如 22/7 我們首先讓22對7取餘,變成1。然後題目就變成求1/7
採用模擬法,模擬除法規則
**
#includeusing namespace std;
void solve(long long a,long long b,long long n)
if(ta==0) cout<
else
歷屆試題 小數第n位
問題描述 我們知道,整數做除法時,有時得到有限小數,有時得到無限迴圈小數。如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。本題的任務是 在上面的約定下,求整數除法小數點後的第n位開始的3位數。輸入格式 一行三個整數 a b n,用空格分開。a是被除數,b是除數,n是所求的小數後位置 0...
歷屆試題 小數第n位
問題描述 我們知道,整數做除法時,有時得到有限小數,有時得到無限迴圈小數。如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。本題的任務是 在上面的約定下,求整數除法小數點後的第n位開始的3位數。輸入格式 一行三個整數 a b n,用空格分開。a是被除數,b是除數,n是所求的小數後位置 0...
歷屆試題 小數第n位
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 我們知道,整數做除法時,有時得到有限小數,有時得到無限迴圈小數。如果我們把有限小數的末尾加上無限多個0,它們就有了統一的形式。本題的任務是 在上面的約定下,求整數除法小數點後的第n位開始的3位數。輸入格式 一行三個整數 a b n,...