• codevs 1390 回文平方数 USACO


    时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 青铜 Bronze
    题目描述 Description
    回文数是指从左向右念和从右像做念都一样的数。如12321就是一个典型的回文数。
    给定一个进制B(2<=B<=20十进制),输出所有的大于等于1小于等于300且它的平方用B进制表示时是回文数的数。用’A’,’B’……表示10,11等等。
    输入描述 Input Description

    共一行,一个单独的整数B(B用十进制表示)。

    输出描述 Output Description

    每行两个数字,第二个数是第一个数的平方,且第二个数是回文数。

    样例输入 Sample Input
    10
    样例输出 Sample Output
    1 1
    2 4
    3 9
    11 121
    22 484
    26 676
    101 10201
    111 12321
    121 14641
    202 40804
    212 44944
    264 69696
    数据范围及提示 Data Size & Hint

     一道舒心模拟题 点击传送

    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <string>
    using namespace std;
    
    string a,b,c;
    int B,i,j;
    int pd(int k)
    {
        a.clear();
        while(k)
        {
            a+=k%B;
            k/=B;
        }
        int l=0,r=a.length()-1;
        while(l<r)
        {
            if(a[l++]!=a[r--])
            return 0;
        }
        return 1;
    }
    void get(int q)
    {
        b.clear();
        while(q)
        {
            int d=q%B;
            if(d>=10)
            b+=char(d+55);
            else b+=d;
            q/=B;
        }
    }
    void geta(int w)
    {
        c.clear();
        while(w)
        {
            int e=w%B;
            if(e>=10)
            c+=char(e+55);
            else c+=e;
            w/=B;
        }
    }
    int main()
    {
        scanf("%d",&B);
        for(i=1;i<=300;++i)
        {
            if(pd(i*i))
            {
                get(i);
                geta(i*i);
                for(j=b.length()-1;j>=0;--j)
                if(b[j]>='A'&&b[j]<='Z') cout<<b[j];
                else cout<<int(b[j]);
                cout<<" ";
                for(j=c.length()-1;j>=0;--j)
                if(c[j]>='A'&&c[j]<='Z') cout<<c[j];
                else cout<<int(c[j]);
                cout<<endl;
            }
        }
        return 0;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    Maven的安装
    Mongodb 分库解决锁率过大问题
    IntelliJ IDEA集成开发Maven工程
    soapUI4.5模拟客户端测试webservice接口,含性能测试
    Mongodb性能监控
    Mongodb内存释放
    ActiveMq队列数据监控器1小时1个Swing小程序
    运输公司对用户计算运输费用C语言109页
    给出一百分制,要求输出成绩等级'A''B''C''D''E'
    有一函数,写程序 输入x的值,输出y相应的值
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6360364.html
Copyright © 2020-2023  润新知