1082:求小数的某一位
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 79102 通过数: 39588
【题目描述】
分数ab化为小数后,小数点后第n位的数字是多少?
【输入】
三个正整数a,b,n相邻两个数之间用单个空格隔开。0<a<b<100,1<=n<=10000
【输出】
一个数字。
【输入样例】
1 2 1
【输出样例】
5
【解题思路】
- 首先读取输入的a、b、n三个整数。
- 初始化一个变量t用来保存小数点后第n位的数字。
- 使用for循环从1到n遍历。
- 在循环中,将a乘以10,并将结果保存在a中。
- 计算t的值,即t=a/b。
- 更新a的值,即a=a%b。
- 循环结束后,输出t的值。
【示例代码】
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b, n, t; // 定义变量a、b、n、t,分别表示分子、分母、要求的小数位数和保存的结果
cin >> a >> b >> n; // 输入a、b、n的值
for (int i = 1; i <= n; i++) // 循环n次,求小数点后第n位的数字
{
a *= 10; // 将a乘以10,相当于将小数点向右移动一位
t = a / b; // 计算小数点后第n位的数字
a %= b; // 更新a的值,即将小数点后第n位的数字去除
}
cout << t << endl; // 输出小数点后第n位的数字
return 0;
}