不说废话先上代码
#include<bits/stdc++.h>
using namespace std;
int n,mod;
vector<int>arr;
void jud(vector<int> arr){
int l=0,r=arr.size()-1;
while(l<r){
if(arr[l++]!=arr[r--]){
cout<<"No"<<endl;
return ;
}
}
cout<<"Yes"<<endl;
}
int main(){
cin>>n>>mod;
//进制转换模板
do{
arr.push_back(n%mod);
n/=mod;
}
while(n!=0);
jud(arr);
reverse(arr.begin(),arr.begin()+arr.size());
for(int i=0;i<arr.size();i++){
if(i!=0)cout<<" ";
cout<<arr[i];
}
}
思路解析
判断N在b进制下是否为回文数
仅需注意代码中给出的进制转换模板即可