1 条题解

  • 1
    @ 2020-08-29 11:35:18

    #include<bits/stdc++.h>
    using namespace std;

    int ans[100001];
    char s[7];
    int main()
    {
    int a=1;
    int n;
    while(scanf("%s %d", s, &n)==2&&a++)
    { if(a!=2)puts("");
    memset(ans,0,sizeof(ans));
    ans[1]=1;
    int dot;
    int b=0;
    int zhen;
    for(int i=5;i>=0;i--)
    if(s[i]!='0')
    {
    zhen=i;
    break;
    }

    for(int i=0;i<=zhen;i++)
    {
    if(s[i]!='.')
    b=b*10+s[i]-'0';
    else
    dot=(zhen-i)*n;
    }
    int max=1;
    for(int i=1;i<=n;i++)
    {int in=0,j;
    for(j=1;j<=max||in;j++)
    {
    int now=b*ans[j]+in;
    ans[j]=now;
    in=ans[j]/10;
    ans[j]%=10;
    }
    if(max<j-1)
    max=j-1;
    }
    for(int i=max;i>dot;i--)
    printf("%d",ans[i]);
    if(dot!=0)
    printf(".");
    for(int i=dot;i>0;i--)
    printf("%d",ans[i]);
    }
    return 0;
    }

  • 1

信息

ID
1010
难度
9
分类
模拟 点击显示
标签
递交数
2
已通过
2
通过率
100%
上传者