#2WA,其余都能过,求大佬

P1015 [NOIP1999 普及组] 回文数

xkx0102 @ 2021-10-21 22:08:25

#include <stdio.h>
#include <string.h>
int main()
{
int i=0,j=0,w=0,k=1,n,len;char m[100],t[100];char d,u;
scanf("%d",&n);
scanf("%s",m);
if((n>=2 && n<=10) || n==16)
{

    while(k<=30)
    {
        len=strlen(m);
        for(i=1;i<=len;i++)
        {
            t[len-i]=m[i-1];
        }
        for(i=1;i<=len;i++)
        {
            if(i!=1)
            {
                u=m[i-1]-48+t[i-1]-48;
                m[i-1]=(w+u)%n+48;
                w=(w+u)/n;
            }
            else
            {
                u=m[i-1]-48+t[i-1]-48;
                m[i-1]=u%n+48;
                w=u/n;
            }
        }
        if(w!=0)
        {
            m[len]=w+48;
            len+=1;
        }
        for(j=1;j<=len/2;j++)
        {
            if(m[j-1]!=m[len-j])
            break;
        }
        if(j==len/2+1)
        break;
        k+=1;
    }
    if(k==31)
        printf("Impossible!");
    else 
        printf("STEP=%d",k);
}
}

by yun_hai @ 2021-12-17 11:54:23

16进制没转换好 第二个的输入是这样的 16 AC27


|