原题自行百度。
这个题其实没啥难的,数据也很水,直接暴力即可。
唯一的关键在于转换进制,这个貌似跟数学联系比较紧。十进制数转换为n进制,方法就是原数除以进制,记下余数和商,用商接着除。直到商是零,然后把余数倒着写即可。
自己可以动手模拟一下,想一想,为什么?
十进制下 满十进一,n进制满n进一。
其实最初除一下得到的商可以看做是向下一位进了多少个“一”,那余数自然是当前位上的数字了。然后用商接着除便是在高一位上接着看能向下一位进多少个“一”,而余数同样是当前位数字,以此类推,进制转换便是 除以进制,余数倒写 了!!!
然后要注意超过十进制时每一位可能会有两位数,按题目规定要用A,B,C之类来表示,输出时候转换一下即可。
比较是否回文时可以把整个数拆开存在数组里来比较。
好了,代码

/*
ID:herekig1
PROG:palsquare
LANG:C++
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;int b;int chg[90010],f[90010],cnt,cntb,yuan[310],chy[310];void jinb(int x){memset(yuan,0,sizeof(yuan));memset(chy,0,sizeof(chy));cntb=0;do{chy[++cntb]=x%b;x/=b;}while(x!=0);for(int i=1;i<=cntb;++i){yuan[i]=chy[cntb+1-i];}
}void gofo(int x,int y)
{memset(chg,0,sizeof(chg));memset(f,0,sizeof(f));cnt=0;do{chg[++cnt]=x%b;x/=b;}while(x!=0);for(int i=1;i<=cnt;++i){f[i]=chg[cnt+1-i];}bool no=false;for(int i=1;i<=cnt;++i){if(f[i]==chg[i])continue;else{no=1;break;}}if(!no){jinb(y);for(int i=1;i<=cntb;++i){if(yuan[i]<=9)printf("%d",yuan[i]);else{char ch='A'+yuan[i]-10;printf("%c",ch);}}printf(" ");for(int i=1;i<=cnt;++i){if(f[i]<=9)printf("%d",f[i]);else{char ch='A'+f[i]-10;printf("%c",ch);}}printf("\n");}return;
}int main()
{freopen("palsquare.in","r",stdin);freopen("palsquare.out","w",stdout);scanf("%d",&b);for(int i=1;i<=300;++i){int num=i*i;gofo(num,i);}return 0;
}

USACO Palindromic Squares 回文平方数相关推荐

  1. 1768: 回文平方数(进制转换)

    1768: 回文平方数 时间限制: 1 Sec 内存限制: 128 MB 题目描述 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2<=B< ...

  2. 洛谷 P1206 [USACO1.2]回文平方数 Palindromic Squares

    题目描述 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2<=B<=20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且 ...

  3. 【USACO1.2】【Luogu1206】回文平方数 Palindromic Squares(枚举,构造函数,进制)

    problem 给出一个进制B 求1~300内有哪些十进制数的平方,在B进制下是回文数. 输出这些数的B进制表示 solution C++构造函数了解一下 codes #include<iost ...

  4. 【USACO】回文平方数

    题目描述 回文数是指从左向右念和从右像做念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2<=B<=20十进制),输出所有的大于等于1小于等于300(十进制下)且它的平方 ...

  5. USACO Training Section 1.2 [USACO1.2]回文平方数

    题目描述 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2<=B<=20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且 ...

  6. c语言判断回文平方数,C/C++回文数的判断(转)

    "回文数"是一种数字.如:98789, 这个数字正读是98789,倒读也是98789,正读倒读一样,所以这个数字就是回文数. 平方回数 定义:一个回文数,它同时还是某一个数的平方, ...

  7. 10.10做题——USACO1.2/洛谷1207回文平方数(Dual Palindromes)

    first thing:我市杨家巷发生一起爆炸事故,死亡17人,愿逝者安息! second thing:明天NOIP初赛,RP++,排名–;分数++; third thing:好像USACO评测系统真 ...

  8. 计蒜客——回文平方数

    回文数是指从左向右念和从右向左念都一样的数.如123321就是一个典型的回文数. 给定一个进制B(2≤B≤20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方用B进制表示时是 ...

  9. [USACO1.2]回文平方数 Palindromic Squares

    https://www.luogu.org/problemnew/show/P1206 题解: /* *@Author: STZG *@Language: C++ */ #include <bi ...

最新文章

  1. 年薪不到 25.2 万免费学,廖雪峰的“大数据高级开发”课程第5期开始招生
  2. 浅析基于双目视觉的自动驾驶技术
  3. 使用 Castal DynamicProxy 简化 Silverlight 数据绑定
  4. 强化学习q学习求最值_通过Q学习更深入地学习强化学习
  5. s5pv210——LCD的原理和实战
  6. Python Django项目部署 Linux 服务器
  7. tcp测试监听工具_linux 下两款网络性能测试工具介绍
  8. 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!
  9. 设计模式---状态模式(C++实现)
  10. windows android系统,手机装windows系统详细方法
  11. java上传图片裁剪_上传图像之裁剪
  12. Rust学习教程30 - Panic原理剖析
  13. bootstrap 图片上传框架
  14. spring 的@PersistenceUnit和@PersistenceContext
  15. 红旗 linux界面,红旗Linux桌面系统v11预览版发布:全新UI设计
  16. 全部第三方工具简介 和网址 下载
  17. 案例分析——快手百万在线直播
  18. 远程管理软件(xshell)介绍和系统连接
  19. 网站建设公司如何进行工作
  20. 2021.11.20关于用递归来解决进制转换

热门文章

  1. 淘淘商城---8.11
  2. 锐捷睿易:扩大DHCP掩码导致AP不上线问题
  3. 群体药动学药效学模型
  4. C语言Windows命令行编程
  5. TCP协议--复位报文段
  6. 过等保是什么意思?能简单解释下吗?
  7. Traffic Light
  8. 系统更新后出现dll文件丢失问题
  9. 数据结构与算法 | 青岛大学 | 王卓
  10. 浅谈在制造业中建设MES系统的成效