1082:求小数的某一位时间限制: 1000 ms 内存限制: 65536 KB 提交数: 59992 通过数: 29859 【题目描述】分数a/b化为小数后,小数点后第n位的数字是多少? 【输入】三个正整数a,b,n,相邻两个数之间用单个空格隔开。0<a<b<100,1<=n<=10000。 【输出】一个数字。 【输入样例】1 2 1 【输出样例】5 |
教学备忘录:编辑 |
#include<iostream> using namespace std;int main() { int a,b,n; cin>>a>>b>>n; for(int i=0;i<n-1;i++) a=a*10%b; cout<<a*10/b; } |
会做除法吗?不够除时在被除数未尾加0,就是乘10啊……因为a小于b,所以输出时,a*10/b是第一位小数。从第二位小数起,a*10%b,余下的再乘10除。
#include<iostream> using namespace std; int main() { int a,b,n; cin>>a>>b>>n; for(int i=0;i<n-1;i++) a=a*10%b; cout<<a*10/b; }