第m大的质因数的计算的方式,如何不排序去求解?采用C语言的计算

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

不知道能否有用

#include<stdio.h>

int arr[100000];
l=0;
void fun(int n)
{
    int temp=n%10;
    if(temp<0) temp=-temp;
    arr[l++]=temp;
}
int main()
{
    long long n,m;
    int i;
    while(scanf("%lld %lld",&n,&m)!=EOF)
    {
       double temp=1.0/n;
       double tt=1.0;
       for(i=1;i<=m;i++)
       {
           tt*=10;
       }
       temp*=tt;
       fun((int)temp);
      // printf("%lf\n",temp);
    }
    for(i=0;i<l;i++)
        printf("%d\n",arr[i]);
    return 0;
}