題目連結 http://zerojudge.tw/ShowProblem?problemid=a248。
此題和台中女中程式解題系統的 c046: 3.小數點後N位 一題類似,解法是以「除法的直式計算」的觀念,搭配程式的迴圈來實作。
程式碼一:
#include <cstdio>
int main() {
int a, b, n;
while(scanf("%d%d%d", &a, &b, &n) != EOF)
{
printf("%d.", a / b);
a = a % b;
for(int i = 0; i < n; i++)
{
a = a * 10;
printf("%d", a / b);
a = a % b;
}
printf("\n");
}
return 0;
}
程式碼二:
- /**********************************************************************************/
- /* Problem: c046 "3.小數點後N位" from 108校內初賽 */
- /* Language: C++ */
- /* Result: AC (4ms, 180KB) on ZeroJudge */
- /* Author: pinglunliao at 2019-10-28 14:27:35 */
- /**********************************************************************************/
- #include <iostream>
- using namespace std;
- int main(void) {
- int a, b, d;
- cin >> a >> b >> d;
- cout << a/b << ".";
- a = (a % b) * 10;
- for(int i = 0; i < d; i++)
- {
- cout << a/b;
- a = (a % b) * 10;
- }
- return 0;
- }
沒有留言:
張貼留言