1 条题解

  • 0
    @ 2025-8-24 21:03:14

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Vanilla_0
    独携天上小团月,来试人间第二泉

    搬运于2025-08-24 21:03:13,当前版本为作者最后更新于2021-07-14 19:44:24,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    分析

    这道题其实可以不用 double 型来存储变量。

    乍一看题,诶!这不是可以先乘上 10n10^n , 再除以 bb 就搞定了吗?

    然后看了一下数据范围: n10000n \leq 10000 ? 哎,不想写高精。

    于是就有了如下代码 :

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int a,b,n; 
    int main()
    {
    	scanf("%d%d%d",&a,&b,&n);
    	for(int i=1;i<=n;i++) a%=b,a*=10;
    	a/=b;
    	printf("%d",a);
    	return 0;
    } 
    

    是不是非常简短呢?

    解释一下,每次 amodba \bmod b 其实就是提取该位小数,而 a×10a \times 10 就是整体向左平移一位。

    最后再除以 bb 就能得到最终的答案了。

    • 1

    信息

    ID
    6930
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    1
    已通过
    1
    上传者