您的位置:首页
USACO 1.2 Palindromic Squares (进制转换,回文)
2017-07-10 13:22
330 查看
/* ID:twd30651 PROG:palsquare LANG:C++ */ #include<iostream> #include<fstream> #include<stdlib.h> #include<string.h> using namespace std; int BASE; char B[]={'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','I','J'}; int isPalindrome(char *s,int len) { for(int i=0,j=len-1;i<=j;i++,j--) { if(s[i]!=s[j])return 0; } if(len>0)return 1; else return 0; } void getp(char *s,int num,int b) { int index=0; while(num/b!=0) { s[index++]=B[num%b]; num=num/b; } s[index++]=B[num%b];; s[index]='\0'; // printf("%s\n",s); } int main(int argc,char *argv[]) { freopen("palsquare.in","r",stdin); freopen("palsquare.out","w",stdout); scanf("%d",&BASE); char s[20]; char t[20]; for(int i=1;i<=300;++i) { memset(s,0,sizeof(s)); memset(t,0,sizeof(t)); getp(s,i*i,BASE); if(isPalindrome(s , strlen(s))) { getp(t,i,BASE); int l=strlen(t); for(int j=0;j<l/2;++j) { char tmp=t[j]; t[j]=t[l-j-1]; t[l-j-1]=tmp; } printf("%s %s\n",t,s); } } return 0; }
相关文章推荐
- USACO 1.2 Palindromic Squares (进制转换,回文)
- USACO-Section1.2 Palindromic Squares [回文数][进制转换]
- USACO 1.2 Dual Palindromes (回文,进制转换)
- USACO-Section1.2 Dual Palindromes [回文数][进制转换]
- USACO之Section1.2.4 Palindromic Squares[回文数][进制转换]
- luogu1207双重回文数[usaco1.2]Dual Palindromes
- luogu1207双重回文数[usaco1.2]Dual Palindromes
- 【USACO-Chapter1-1.2】【进制转换】Palindromic Squares
- 【USACO-Chapter1-1.2】【进制转换】Dual Palindromes
- 【枚举】洛谷 P1207 [USACO1.2]双重回文数 Dual Palindromes
- 洛谷P1207 [USACO1.2]双重回文数 Dual Palindromes
- USACO 1.2 Dual PalinDromes (递归判断回文)
- 【洛谷P1207】双重回文数 【USACO1.2】
- 【洛谷P1207】双重回文数 【USACO1.2】
- USACO 1.2 Palindromic Squares (进制转换)
- USACO Section 1.2 题解
- USACO-Section1.2 Transformations
- USACO 1.2
- USACO1.5 回文质数 Prime Palindromes
- 【USACO题库】1.2.5 Dual Palindromes双重回文数