USACO-Section1.2 Palindromic Squares
来源:互联网 发布:2016全球汽车销量数据 编辑:程序博客网 时间:2024/06/07 10:04
2017-05-31
题目大意:
回文数是指从左向右念和从右向左念都一样的数。如12321就是一个典型的回文数。给定一个进制B(2<=B<=20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方用B进制表示时是回文数的数。用’A’,’B’……表示10,11等等。
样例输入:
10
样例输出:
1 12 43 911 12122 48426 676101 10201111 12321121 14641202 40804212 44944264 69696
题解:
该题主要是进制的转换,如何从十进制转换为任意进制。注意题目,要求输出数的B进制。
代码:
#include<iostream>#include<fstream>#include<cstring>using namespace std;char ch[] = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F','G','H','I','J','K'};int n;int a = 1 , b = 300;char m[20]; char m2[20];int TenToB(int i,int b){ memset(m , 0, sizeof(m)); int temp = i; int flag = 0; while(temp != 0){ m[flag++] = ch[temp % b]; temp /= b; } return flag;} bool Judge(){ int i; int len = strlen(m); int flag = 0; memset(m2 , 0, sizeof(m2)); for(i = 0;i < len;i++){ m2[i] = m[len - 1 - i]; } for(i = 0;i < len ;){ if(m2[i] == m[i]){ i++; }else{ break; } } if(i == len){ return true; }else{ return false; }}int main(){ ofstream cout("palsquare.out"); ifstream cin("palsquare.in"); cin >> n; char ans[20]; int rem; for(int t = 1;t <= 300 ;t++){ memset(ans , 0, sizeof(ans)); int num = t * t; rem = TenToB(t , n); for(int i = 0;i < rem;i++){ ans[i] = m[i]; } int flag = TenToB(num , n); if(Judge()){ for(int j = rem - 1;j >= 0;j--){ cout << ans[j]; } cout <<" "; for(int j = 0;j < flag;j++){ cout << m2[j]; } cout << endl; }else{ continue; } } return 0;}
阅读全文
0 0
- USACO section1.2 Palindromic Squares
- USACO-Section1.2 Palindromic Squares
- USACO Section1.2 Palindromic Squares
- USACO-Section1.2 Palindromic Squares
- USACO-Section1.2 Palindromic Squares
- usaco.section1.2.Palindromic Squares
- USACO-Section1.2 Palindromic Squares [回文数][进制转换]
- USCAO section1.2 Palindromic Squares
- Palindromic Squares(USACO)
- USACO 1.2-Palindromic Squares
- usaco 1.2:Palindromic Squares
- [USACO] Palindromic Squares
- usaco Palindromic Squares
- USACO 1.2 Palindromic Squares
- USACO Palindromic Squares
- USACO 1.2 Palindromic Squares
- usaco Palindromic Squares
- [USACO]Palindromic Squares
- 观察者模式
- 使用kernel-package编译内核imgage包
- android 之 Intent、broadcast
- Android Studio 2.3 签名打包问题
- 复习fragment的生命周期
- USACO-Section1.2 Palindromic Squares
- 自定义jquery插件
- ORACLE 普通表转换成分区表(在线重定义)
- 关于去重复的笛卡尔积
- 关于a标签内的onclick事件只能点击一次的问题
- Linux网络编程(二)——多进程并发,通信服务
- Cookie与Session学习
- Unknown character set: 'utf8mb4'
- Shell通过特定字符把字符串分割成数组