zoukankan      html  css  js  c++  java
  • 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;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    RK3288 GMAC整理
    Linux电源管理-Linux regulator framework概述
    SRAM、DRAM、SDRAM、DDR、DDR2、DDR3
    内核错误值
    module_param和module_param_array用法
    VGA
    如何获取显示器的EDID信息
    进程间通信--共享内存
    Java 中的 CAS 简述及原理解析
    volatile 关键字特性解析及单例模式下的使用
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6360364.html
Copyright © 2011-2022 走看看