为什么错误呢 求助
查看原帖
为什么错误呢 求助
1588333
psyche_xin楼主2024/12/2 20:27
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int m,x;
    scanf("%d%d",&m,&x);
    int breakk;int b[7]={1,10,100,1000,10000,100000,1000000};int A;
    int i;int all=0;
    for(i=6;i>0;i--)
    {   A=0;
        int j;
        breakk=((b[i]+x*b[i-1])<=m);
        if(breakk)
        {
            for( j=1;(j*b[i]+x*b[i-1])<=m&&((j+1)*b[i]+x*b[i-1]>m);j++);
        A=j*b[i]+x*b[i-1];
        int q=0;
        for(int p=1;p<i;p++)q+=9*b[i-1];
        if(A+q<=m)A+=q;else {for(j=q;A+j>=m;j--);A+=j;}
        }
        else
        {
            int q=0;
            if(x*b[i-1]>m)A=0;
            else
            {
             for(int p=1;p<i;p++)q+=9*b[i-1];
             if(x*b[i-1]+q<=m)A=q+b[i];else {for(j=q;A+j<=m;j--);A=j+b[i];}
            }
        }
        all+=A;
    }
    printf("%d",all);
}
2024/12/2 20:27
加载中...