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;
}