AcWing
  • 首页
  • 题库
  • 题解
  • 分享
  • 问答
  • 活动
  • 应用
  • 吐槽
  • 登录/注册

AcWing 1346. 回文平方 0.02 AC币

作者: 作者的头像   星瑞 ,  2021-01-17 21:15:00 ,  阅读 11


0


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

using namespace std;

char get(int x)//将x转换为字符形式
{
    if (x <= 9) return x + '0';
    return x - 10 + 'A';
}

string base(int n, int b)//将n转换为b进制,返回对应字符串
{
    string res;
    while (n)
    {
        res += get(n % b);
        n /= b;
    }
    reverse(res.begin(), res.end());//翻转回高位在左
    return res;
}

bool check(string s)//检查s是否是回文
{
    for (int i = 0, j = s.size() - 1; i < j; i ++, j -- )
        if (s[i] != s[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;
}

0 评论

你确定删除吗?

© 2018-2021 AcWing 版权所有  |  京ICP备17053197号-1
联系我们  |  常见问题
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息