Java开发手册 graph LimeJS vue框架 vue中文 admin框架 广告投放系统源码 jquery选择子元素 excel太长的文字隐藏 python程序界面 bentley软件介绍 eclipse显示左边目录 matlab插值函数 查看mysql密码 python运行环境 python实战 python调用函数 python函数返回 java实例 java编程环境 java中正则表达式 java如何使用 javastringbuilder 获取当前时间java java如何编写接口 高效能人士的七个习惯pdf xs颜色 识别音乐的软件 位置不可用 远程桌面管理软件 jlabel 模拟按键 字典生成器 战地2地图包下载 炫舞爱的惊喜 ps平面广告设计教程 微信昵称特殊字符保存 ps怎么做动画 php队列 dns地址
当前位置: 首页 > 学习教程  > 编程语言

C++描述 1346. 回文平方

2021/1/13 19:36:55 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

C描述 1346. 回文平方 大家好,我叫亓官劼(q guān ji ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博…

C++描述 1346. 回文平方

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客 ,同时正在尝试在B站中做一些内容分享,B站主页为: 亓官劼的B站主页

本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!!
若需联系博主,可以联系本人微信:qiguanjie2015


题目

回文数是指数字从前往后读和从后往前读都相同的数字。

例如数字 12321 就是典型的回文数字。

现在给定你一个整数 B,请你判断 1∼300 之间的所有整数中,有哪些整数的平方转化为 B 进制后,其 B 进制表示是回文数字。

输入格式

一个整数 B。

输出格式

每行包含两个在 B 进制下表示的数字。

第一个表示满足平方值转化为 B 进制后是回文数字那个数,第二个数表示第一个数的平方。

所有满足条件的数字按从小到大顺序依次输出。

数据范围

2≤B≤20,
对于大于 9 的数字,用 A 表示 10,用 B 表示 11,以此类推。

输入样例:

10

输出样例:

1 1
2 4
3 9
11 121
22 484
26 676
101 10201
111 12321
121 14641
202 40804
212 44944
264 69696

解题思路

这是一题简单题,我们每次先将数字转化为b进制,然后判断这个数的b进制表示是否是回文数,如果是,则输出即可。

C++实现

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;
// int 转为为 char
char get(int x){
    if (x <= 9) return x + '0';
    return x - 10 + 'A';
}
// 进制转化,返回string 
string base(int n, int b){
    string num;
    while (n) {
        num += get(n % b);
        n /= b;
    }
    reverse(num.begin(), num.end());
    return num;
}
// 判断是否是回文数
bool check(string num){
    for (int i = 0, j = num.size() - 1; i < j; i ++, j -- )
        if (num[i] != num[j])
            return false;
    return true;
}
int main(){
    int b;
    cin >> b;
    for (int i = 1; i <= 300; i ++ ){
        // 先进制转化
        string num = base(i*i, b);
        // 如果是回文数,则输出
        if (check(num))
            cout << base(i, b) << ' ' << num << endl;
    }
    return 0;
}
亓官劼 CSDN认证博客专家 Python 全栈 数据结构与算法
大家好,我是亓官劼(qí guān jié),在博客中分享数据结构与算法、Python全栈开发、Java后端开发、前端、OJ题解及各类报错信息解决方案等经验。一起加油,用知识改变命运,未来可期。
若有事项需联系博主,可通过微信:qiguanjie2015 进行联系,有空会回复。

本文链接: http://www.dtmao.cc/news_show_600128.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?