首页 > 其他 > 详细

1019 General Palindromic Number (20分)

时间:2020-03-05 22:33:39      阅读:49      评论:0      收藏:0      [点我收藏+]

1. 题目

技术分享图片

2. 思路

  1. 先进制转换
  2. 判断是否回文

3. 注意点

  1. 0在任意进制下是0
  2. 11-16进制下不是A-Z
  3. 大于10进制数据可能是 10 13 10这样的,但是这个例子是回文数字

4. 代码

#include<cstdio>
#include<algorithm>
#include<string>
#include<vector>

using namespace std;

bool isPalindromicNumber(vector<string> res){
    vector<string> res1 = res;
    reverse(res1.begin(), res1.end());
    if(res1 == res){
        return true;
    }else{
        return false;
    }
}

void change(int num, int b){
    vector<string> res;
    while(num != 0){
        res.push_back(to_string(num%b));
        num /= b;
    }
    reverse(res.begin(), res.end());
    if(isPalindromicNumber(res)){
        printf("Yes\n");
    }else{
        printf("No\n");
    }
    int i = 0;
    for(i=0;i<res.size()-1;i++){
        printf("%s ", res[i].c_str());
    }
    printf("%s", res[i].c_str());
}

int main(){
    int num;
    int b;
    scanf("%d %d", &num, &b);
    if(num == 0){
        printf("Yes\n0");
        return 0;
    }
    change(num, b);
}

1019 General Palindromic Number (20分)

原文:https://www.cnblogs.com/d-i-p/p/12423192.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!