第二道题我不怎么清楚❤️

img

小数点后第n位,等同于乘以10的n次方,结果的个位数部分。即a*1eN/b mod 10。但是根据测试数据,中间结果会比较大。根据同余数的性质,中间可以先对b取模。即(a*1eN mod 10*b) / b。根据同余的性质,乘以1eN的过程可以分步计算;可以得出以下代码:


#include<stdio.h>

int main(){
    int a,b,n;
    scanf("%d %d %d", &a,&b,&n);
    while(n--){
        a=a*10;
        a=a%(10*b);
    }
    int r=a/b;
    if(r!=0)
        printf("%d\n",r);
    else
        printf("null\n");
    return 0;
}