【One PAT every day】 1019 General Palindromic Number

Directly used the palindrome retrieval function of 1015, second answer

Ideas

Use a dynamic array to store each digit.
Instead, form a new digit to determine whether it is equal to the original digit.

#include <cstdio>
#include <cmath>
#include <vector>
using namespace std;
vector<int> num;
int reverse(int n,int r)
{
    int result = 0;
    do {
        num.push_back(n%r);
        n /= r;
    }while (n != 0);
    for (int i = num.size()-1; i >= 0 ; --i) {
        result += num[num.size()-i-1]*pow(r,i);
    }
    return result;
}
int main()
{
    int N,b;
    scanf("%d %d",&N,&b);
    int reverse_n = reverse(N,b);
    if(reverse_n == N) printf("Yes\n");
    else  printf("No\n");
    for (int i = num.size()-1; i >=0; --i)
    {
        printf("%d",num[i]);
        if(i != 0) printf(" ");
    }
}

Guess you like

Origin www.cnblogs.com/xinyuLee404/p/12728859.html