zoukankan      html  css  js  c++  java
  • USACO palsquare

    给出Base b( 2<=b<=20),10进制下1~300的平方的b进制数若为回文数,则输出平方数及原数(按b进制输出),超出9的那一位用A、B...代替

    超出9部分的字符转换出现问题,要注意。

    if(s1[ll]>9)
                s1[ll] += 'A' - 10;
            else
                s1[ll] += '0';
     1 #include <cstdio>
     2 
     3 FILE *fin = fopen("palsquare.in","r");
     4 FILE *fout = fopen("palsquare.out","w");
     5 
     6 void solve(int  b, int x)
     7 {
     8     int l = 0, ll = 0;
     9     char s[20], s1[20];
    10     int temp = x;
    11     while(temp>0)
    12     {
    13         /*int ch = temp % b ;
    14         if(ch<10)
    15             s1[ll] = ch + '0';
    16         else
    17             s1[11] = ch + 'A' - 1;
    18             */
    19         s1[ll] = temp % b;
    20         if(s1[ll]>9)
    21             s1[ll] += 'A' - 10;
    22         else
    23             s1[ll] += '0';
    24         temp /= b;
    25         ll++;
    26     }
    27     s[ll]='';
    28     x *= x;
    29     while(x>0)
    30     {
    31         /*
    32         int ch = x % b ;
    33         if(ch<10)
    34             s[l] = ch + '0';
    35         else
    36             s[1] = ch + 'A' - 1;
    37         */
    38         s[l] = x % b;
    39         if(s[l]>9)
    40             s[l] += 'A' - 10;
    41         else
    42             s[l] += '0';
    43         x /= b;
    44         l++;
    45     }
    46     s[l]='';
    47     int flag = 0;
    48     for(int i=0; i<l/2; i++)
    49     {
    50         if(s[i]!=s[l-i-1])
    51         {
    52             flag = 1;
    53             break;
    54         }
    55     }
    56     if(flag==0)
    57     {
    58         for(int i=ll-1; i>=0; i--)
    59             fprintf(fout, "%c",s1[i]);
    60         fprintf(fout, " ");
    61         fprintf(fout, "%s ",s);
    62     }
    63 }
    64 
    65 int main()
    66 {
    67     int b;
    68     fscanf(fin, "%d",&b);
    69     for(int i=1; i<=300; i++)
    70     {
    71         int x = i;
    72         solve(b, i);
    73     }
    74     return 0;
    75 }
    View Code 
  • 相关阅读:
    docker 安装es
    Redis 和 Zookeeper 到底谁更牛?
    Redisson 看门狗
    记一次线上服务CPU 100%的处理过程
    必须了解的mysql三大日志-binlog、redo log和undo log
    python学习笔记 -- reduce合并减少
    Python学习笔记 -- 列表2: 遍历:嵌套列表, 将其中同位置的元素组成新的列表
    python学习笔记 -- filter() 过滤符合条件的可迭代序列
    python学习笔记 -- map() 操作可迭代序列
    python学习笔记
  • 原文地址:https://www.cnblogs.com/byluoluo/p/3421978.html
Copyright © 2011-2022 走看看