【Un PAT todos los días】 1019 Número palindrómico general

Utiliza directamente la función de recuperación de palíndromo de 1015, segunda respuesta

Ideas

Use una matriz dinámica para almacenar cada dígito
, en su lugar, forme un nuevo dígito para determinar si es igual al dígito original.

#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(" ");
    }
}

Supongo que te gusta

Origin www.cnblogs.com/xinyuLee404/p/12728859.html
Recomendado
Clasificación