Just a Numble
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2077 Accepted Submission(s): 970
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
模拟除法,刚开始还以为很麻烦呢,还找了循环节,循环节前有几位不循环,还有不是循环小数的,还有1。。。结果学长说一直算下去就行!!!
#include<stdio.h> #include<string.h> int s[100004]; int main() { int n,m,a,i; while(scanf("%d%d",&n,&m)!=EOF) { if(n==1) { printf("0\n"); continue; } memset(s,0,sizeof(s)); a=1; for(i=1;i<=m;i++) { a*=10; while(a<n) { a*=10; s[i++]=0; } s[i]=a/n; a%=n; if(!a) break; } printf("%d\n",s[m]); } return 0; }