首页 > 其他 > 详细

【每天一道PAT】1019 General Palindromic Number

时间:2020-04-19 09:10:56      阅读:51      评论:0      收藏:0      [点我收藏+]

直接用了1015的取回文函数,秒答

思路

用动态数组存储每一位数字
反着构成新的数字判断与原数字是否相等即可。

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

【每天一道PAT】1019 General Palindromic Number

原文:https://www.cnblogs.com/xinyuLee404/p/12728859.html

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