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

  • 271通过
  • 501提交
  • 题目提供者该用户不存在
  • 标签USACO
  • 难度普及-

提交  讨论  题解

最新讨论

  • 暂时没有讨论

题目描述

回文数是指从左向右念和从右向左念都一样的数。如12321就是一个典型的回文数。

给定一个进制B(2<=B<=20,由十进制表示),输出所有的大于等于1小于等于300(十进制下)且它的平方用B进制表示时是回文数的数。用’A’,’B’……表示10,11等等

输入输出格式

输入格式:

共一行,一个单独的整数B(B用十进制表示)。

输出格式:

每行两个B进制的符合要求的数字,第二个数是第一个数的平方,且第二个数是回文数。

输入输出样例

输入样例#1

10

输出样例#1

1 1

2 4

3 9

11 121

22 484

26 676

101 10201

111 12321

121 14641

202 40804

212 44944

264 69696

说明

题目翻译来自NOCOW。

USACO Training Section 1.2

分析:看到1到300的平方就应该知道本题要枚举,那么枚举1到300的平方转换到B进制然后检验是否是回文数即可,关键是怎么转换进制呢?

如果10进制的数转换为n进制的数,那么就把这个数不断除以n,保留余数,除到商为0为止,那么把余数反过来就是结果了,举个例子:

3 / 2 = 1 ...... 1

1 / 2 = 0 ...... 1

那么答案就是11,如果是n进制数转换为10进制呢?那么从这个数的最右边一位开始乘n^(i-1),i是从右边起的第几位,最后加起来,举个例子:二进制11转换成10进制:

1 * 2^(1 - 1) + 1 * 2 ^ (2 - 1) = 3

原理就是数的表示:123可以表示为1*10^2 + 2 * 10 ^ 1 + 3 * 10 ^ 0.然后注意一下当数大于9的时候需要用字母表示即可.

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; const int maxn = ; int b,a[maxn]; void zhuanhuan(int x)
{
int a1[maxn];
int i = ;
while (x > )
{
a1[++i] = x % b;
x /= b;
}
while (i)
{
if (a1[i] < )
printf("%d", a1[i]);
else
printf("%c", a1[i] - + 'A');
i--;
}
} void huiwen(int x1)
{
int temp = ;
int x = x1 * x1;
while (x > )
{
a[++temp] = x % b;
x /= b;
}
int t = temp, i = temp;
while (i > && a[i] == a[t - i + ])
i--;
if (i == )
{
zhuanhuan(x1);
printf(" ");
while (temp)
{
if (a[temp] < )
printf("%d", a[temp]);
else
printf("%c", a[temp] - + 'A');
temp--;
}
printf("\n");
}
} int main()
{
scanf("%d", &b);
for (int i = ; i <= maxn; i++)
huiwen(i); return ;
}

洛谷P1206 [USACO1.2]回文平方数 Palindromic Squares的更多相关文章

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

    P1206 [USACO1.2]回文平方数 Palindromic Squares 题目描述 回文数是指从左向右念和从右向左念都一样的数.如12321就是一个典型的回文数. 给定一个进制B(2< ...

  2. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes

    P1217 [USACO1.5]回文质数 Prime Palindromes 题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找 ...

  3. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindrome

    嗯... 这道题对于蒟蒻的我来说实在是TQL... 先看一下题:(题目链接:https://www.luogu.org/problemnew/show/P1217) 然后说一下我的做题过程吧: 一看到 ...

  4. 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes【取回文数/数论/字符串】

    题目描述 因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围[a,b](5 <= a < b <= 100,000 ...

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

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

  6. Java实现 洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes

    import java.util.Scanner; public class Main { private static Scanner cin; public static void main(St ...

  7. Palindromic Squares 回文平方数

    1.2.4 Palindromic Squares 回文平方数 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 139  Solved: 66[Submit ...

  8. 【洛谷P1207】双重回文数 【USACO1.2】

    P1207 [USACO1.2]双重回文数 Dual Palindromes 题目描述 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做"回文数".例如,12321就是一 ...

  9. 洛谷P4324 扭动的回文串 [JSOI2016] manacher+哈希

    正解:manacher+哈希 解题报告: 传送门 要不要先解释下题意,,,我开始看了半天来着QAQ 大概就,要求一个最长的回文串 这个回文串有两种构成可能 一种是单从一个串中拿出来的连续一段 另一种是 ...

随机推荐

  1. oracle desc 表结构

    SQL> desc v$logfile; 名称 是否为空? 类型 ----------------------------------------- -------- ------------- ...

  2. 【转】VS2013 C#WinForm程序构造界面拖动控件NumericUpDown时"未响应“是有道词典惹的祸

    很久之前遇到过因为金山词霸和其他软件冲突导致的程序无响应的情况. 没想到今天情况重现,VS2013在可视化编辑NumbericUpDown控件的时候,又出现了”未响应“,发现又是有道词典惹的祸. 可见 ...

  3. 黄聪:chrome扩展开发《AJAX请求》

    chrome在一次更新之后,出于安全考虑,完全的禁止了content_script从https向http发起ajax请求,即使正常情况下也会在console里给出提示.这对于WEB来讲是好事,但对于扩 ...

  4. 黄聪:wordpress源码解析-目录结构-文件调用关系(转)

    Wordpress是一个单入口的文件,所有的前端处理都必须经过index.php,这是通过修改web服务器的rewrite规则来实现的.这种做法的好处是显而易见的,这样URL更好看,不必为每一个url ...

  5. 黄聪:jquery mobile使用form进行post提交表单没有反应,显示空白页解决方案

    jquery mobile这货会自动用Ajax方式. 所以需要在表单form标签添加data-ajax="false"这个元素. <form method="pos ...

  6. hibernate级联与反向

    cascade:设置本表与关联表之间的级联操作,如:设置为save-update,则插入或更新对象时同时保存或更新另一端的表,但不会产生关联关系数据,除非inverse为false. inverse: ...

  7. linux shell 中的位置变量

    对于linux shell 中的位置变量,我一直以来都是吐不出来又咽不下去,每次看到都不懂,不懂了就去百度google,看完了又忘,真是慢性咽炎啊.现在认真想想也是,其实自己一直以来都没有好好学习过, ...

  8. 命令行登录mysql报Segmentation fault错误是怎么回事

    ==========解决方法============在源码包里,编辑文件 cmd-line-utils/libedit/terminal.c把terminal_set方法中的 char buf[TC_ ...

  9. ICANN认证企业列表

    查询地址: http://www.internic.net/alpha.html

  10. 【Java】PrettyTime

    package test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.D ...