1019 General Palindromic Number (20point(s)) Easy only once

基本思想:

进制问题,回文串判定;

 

关键点:

注意回文子串和回文串问题;

 

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<vector> 
#include<string>
#include<math.h>
#include<algorithm>
using namespace std;
using std::vector;

vector<int>vec;

int trans(int a, int b) {
    if (a == 0) {
        vec.push_back(0);
        return 0;
    }
    while (a != 0) {
        vec.push_back(a%b);
        a = a / b;
    }
    reverse(vec.begin(), vec.end());
    return 0;
}

int main() {
    int a, b;
    scanf("%d %d", &a, &b);
    trans(a, b);
    bool flag=true;
    for (int i = 0; i <= vec.size() / 2; i++) {
        if (vec[i] != vec[vec.size() - 1 - i])
            flag = false;
    }
    if (flag)
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
    for (int i = 0; i < vec.size(); i++) {
        if (i == 0)
            printf("%d", vec[i]);
        else
            printf(" %d", vec[i]);
    }
    system("pause");
    return 0;
}
posted @ 2020-01-15 16:09  暮云林凌  阅读(118)  评论(0)    收藏  举报