PAT A1019 General Palindromic Number

题目

在这里插入图片描述

code

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
bool Judge(int ans[],int num){
    for(int i=0;i<num/2;i++){
        if(ans[i]!=ans[num-1-i])
            return false;
    }
    return true;
}

int main(){
    int N,b;
    scanf("%d%d",&N,&b);
    //N为十进制数 要转换为b进制,即除基取余法
    int ans[40],num=0;
    do{
        ans[num++]=N%b;
        N=N/b;
    }while(N!=0);
    if(Judge(ans, num)){
        printf("Yes\n");
    }
    else printf("No\n");
    for(int i=num-1;i>=0;i--){
        printf("%d",ans[i]);
        if(i!=0){
            printf(" ");
        }
    }
    return 0;
}

总结

  1. 判断回文 写个函数 不断判断取false 否则true
  2. 十进制变b进制,除基取余法,然后倒着输出

猜你喜欢

转载自blog.csdn.net/Decmxj1229/article/details/88554669
今日推荐