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

时间:2022-12-29 16:42:45

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 &lbrack;USACO1&period;2&rsqb;回文平方数 Palindromic Squares

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

  2. 洛谷 P1217 &lbrack;USACO1&period;5&rsqb;回文质数 Prime Palindromes

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

  3. 洛谷 P1217 &lbrack;USACO1&period;5&rsqb;回文质数 Prime Palindrome

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

  4. 洛谷 P1217 &lbrack;USACO1&period;5&rsqb;回文质数 Prime Palindromes【取回文数&sol;数论&sol;字符串】

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

  5. USACO Training Section 1&period;2 &lbrack;USACO1&period;2&rsqb;回文平方数

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

  6. Java实现 洛谷 P1217 &lbrack;USACO1&period;5&rsqb;回文质数 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&period;2】

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

  9. 洛谷P4324 扭动的回文串 &lbrack;JSOI2016&rsqb; manacher&plus;哈希

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

随机推荐

  1. python面向对象基础

    面向对象基础 1. 简述 编程方式: 面向过程: 根据代码在脚本的堆叠顺序,从上到下依次执行 函数式编程:将相同功能的代码封装到函数中,直接调用即可,减少代码重复性 面向对象:对函数进行分类和封装,将 ...

  2. Java中构造函数执行顺序的问题

    1,  先执行内部静态对象的构造函数,如果有多个按定义的先后顺序执行:而且静态类的构造函数只会被执行一次,只在其第一个对象创建时调用,即便是创建了同一个类的多个对象,例如main()函数里b1,b2创 ...

  3. Java SE Java EE Java ME 的区别

    Java SE(Java Platform,Standard Edition) Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.J ...

  4. 制作openstack用的centos6&period;5镜像

    目的: 在centos6.5操作系统环境下制作一个centos6.5的kvm镜像,安装cloud-init,能自己主动扩展根分区 一.制作环境: 操作环境是在openstack平台开一个实例.装的是c ...

  5. jupyter notebook下python2和python3共存(Ubuntu)

    提示NOTICE 时间:2018/04/06 主题:Ubuntu 下CAFFE框架 主角:Jupyter Notebook 简介: Jupyter Notebook(此前被称为 IPython not ...

  6. iphone inline video fragments

    DOMContentLoaded 它在DOM加载之后及资源加载之前被触发 通过递归调用同一方法来不断更新画面以达到动起来的效果,但它优于setTimeout/setInterval的地方在于它是由浏览 ...

  7. 恶补web之八&colon;jQuery&lpar;1&rpar;

    jquery是一个js库,极大的简化了js编程.jquery是一个写的更少,但做的更多的轻量级js库. jquery位于一个js文件中,其中包含了所有jquery函数,可以用如下标记把jquery添加 ...

  8. dom反转

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  9. Protocol Buffers学习教程

    最近看公司代码的过程中,看到了很多proto后缀的文件,这是个啥玩意?问了大佬,原来这是Protocol Buffers! 这玩意是干啥的?查完资料才知道,又是谷歌大佬推的开源组件,这玩意完全可以取代 ...

  10. Android Studio 签名打包

    项目开发完成后,如果要分发到Google play或者各个第三方渠道,签名打包是必不可少的,下面详细介绍整个签名打包过程,及如何查看签名. 1.创建签名文件 选择要打包的项目-点击Build-在弹出的 ...