1 条题解

  • 0
    @ 2025-10-8 16:54:51
    #include<bits/stdc++.h>
    using namespace std;
    int B,a[100],alen,b[100],blen;
    char itc[150];
    void check(int x)
    {
        int s=x*x;
        alen=0;
        while(s>0)
        {
            a[++alen]=s%B;
            s/=B;
        }
        for(int i=1;i<=alen/2;i++)if(a[i]!=a[alen-i+1])return ;
        
        blen=0;
        while(x>0)
        {
            b[++blen]=x%B;
            x/=B;
        }
        for(int i=blen;i>=1;i--)printf("%c",itc[b[i]]); printf(" ");
        for(int i=alen;i>=1;i--)printf("%c",itc[a[i]]); printf("\n");
    }
    int main()
    {
        for(char c='0';c<='9';c++)itc[c-48]=c;
        for(char c='A';c<='Z';c++)itc[c-'A'+10]=c;
        scanf("%d",&B);
        for(int i=1;i<=300;i++)
        {
            check(i);
        }
        return 0;
    }
    
    • 1

    【进制转换】[USACO1.2] 回文平方数 Palindromic Squares

    信息

    ID
    986
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    133
    已通过
    60
    上传者