http://acm.hdu.edu.cn/showproblem.php?pid=2117
Problem Description
Now give you two integers n m, you just tell me the m-th number after radix point in 1/n,for example n=4,the first numble after point is 2,the second is 5,and all 0 followed
Input
Each line of input will contain a pair of integers for n and m(1<=n<=10^7,1<=m<=10^5)
Output
For each line of input, your program should print a numble on a line,according to the above rules
Sample Input
4 2
5 7
123 123
Sample Output
5
0
8
时间复杂度:$O(m)$
代码:
#include <bits/stdc++.h> using namespace std; int main() { int n, m, sum, k; while(~scanf("%d%d", &n, &m)) { sum = 1; for(int i = 0; i < m; i ++) { sum = sum * 10; k = sum / n; sum = sum % n; } printf("%d ",k % 10); } return 0; }