c语言,样例过但是全WA,难道是我题目理解有问题?
查看原帖
c语言,样例过但是全WA,难道是我题目理解有问题?
1132411
Red_Cow楼主2023/11/17 18:22
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main()
{
    char s1[100];
    int a1[100]={0},a2[100]={0};
    int N,i,len,ans=0,flag=1;
    scanf("%d",&N);
    getchar();
    gets(s1);
    len=strlen(s1);
    for(i=0;i<len;i++)//将M的每一位放进数组
    {
        if((s1[i]>='a'&&s1[i]<='f')||(s1[i]>='A'&&s1[i]<='F')) a1[i]=s1[i]-'a'+10;
        else a1[i]=s1[i]-'0';
    }
    while(ans<=30)
    {
        flag=1;
        for(i=0;i<len;i++)//判断是否回文
        {
            a2[i]=a1[len-1-i];
            if(a1[i]!=a1[len-1-i]) flag=0;
        }
        if(flag==0)//相加得到新数组
        {
            ans++;
            for(i=0;i<len;i++)
            {
                a1[i]=a1[i]+a2[i];
                if(a1[i]>=N)
                {
                    a1[i]-=N;
                    a1[i+1]++;
                    if(i==len-1) len++;

                }
            }
        }
        else break;
    }
    if(ans>30) printf("Impossible");
    else printf("STEP=%d",ans);
    return 0;
}

2023/11/17 18:22
加载中...