专栏首页饶文津的专栏【USACO 1.2】Palindromic Squares

【USACO 1.2】Palindromic Squares

进制转换,然后判断是否是回文

/*******************************************
  TASK: palsquare
  LANG: C++ 
  Created Time: 2016年09月07日 星期三 21时18分46秒
 *********************************/

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

void bas(int x,int b,char ans[]){
    int i;
    for(i=0;x;i++){
        int t=x%b;
        x/=b;
        if(t>9)ans[i]=t%10+'A';
        else ans[i]=t+'0';
    }
    for(int j=0;j<i/2;j++)
    swap(ans[j],ans[i-j-1]);
}
int ispal(char s[]){
    int len=strlen(s);
    for(int i=0;i<len;i++)
        if(s[i]!=s[len-i-1])return 0;
    return 1;
}
int main(){
    freopen("palsquare.in","r",stdin);
    freopen("palsquare.out","w",stdout);
    int b;
    cin>>b;
    for(int i=1;i<=300;i++){
        char s[20];
    memset(s,0,sizeof s);
        bas(i*i,b,s);
        if(ispal(s)){
        char n[20];
        memset(n,0,sizeof n);
        bas(i,b,n);
        cout<<n<<" "<<s<<endl;
    }
    }
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【CodeForces 620D】Professor GukiZ and Two Arrays

    两个数列,一个有n个数,另一个有m个数,让你最多交换两次两个数列的数,使得两个数列和的差的绝对值最小,求这个差的绝对值、最少交换次数、交换数对

    饶文津
  • 「2017 Multi-University Training Contest 2」2017多校训练2

    给定数组a[1..n]和b[1..n],b[i]在[1~n]内。要得到a[n+1..2n],每次选b数组的一个,令a[i]为j=b[k]到i-1位置中最大的a[...

    饶文津
  • 【hihocoder 1424】 Asa's Chess Problem(有源汇上下界网络流)

    饶文津
  • 【C语言笔记】函数参数压栈的顺序?

    按照日常习惯来看,C语言的函数参数压栈顺序是从左到右吧?但是事实却是相反的,C语言函数参数压栈顺序是从右到左的。下面看一个程序:

    正念君
  • 2017年中国大学生程序设计竞赛-中南地区赛暨第八届湘潭市大学生计算机程序设计大赛题解&源码(A.高斯消元,D,模拟,E,前缀和,F,LCS,H,Prim算法,I,胡搞,J,树状数组)

    A-------------------------------------------------------------------------------...

    Angel_Kitty
  • 「2017 Multi-University Training Contest 2」2017多校训练2

    给定数组a[1..n]和b[1..n],b[i]在[1~n]内。要得到a[n+1..2n],每次选b数组的一个,令a[i]为j=b[k]到i-1位置中最大的a[...

    饶文津
  • 【CodeForces 620D】Professor GukiZ and Two Arrays

    两个数列,一个有n个数,另一个有m个数,让你最多交换两次两个数列的数,使得两个数列和的差的绝对值最小,求这个差的绝对值、最少交换次数、交换数对

    饶文津
  • 1035. 插入与归并(25)

    插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。

    AI那点小事
  • 1065. 单身狗(25)

    “单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

    AI那点小事
  • 图论--拓扑排序--模板

    风骨散人Chiam

扫码关注云+社区

领取腾讯云代金券