1019 General Palindromic Number

xiaoxiao2025-10-21  6

题目大意:

判断一个十进制数转换为b进制数后是否为回文数

解题思路:

进制转换加回文数的判断。 代码如下:

#include<iostream> #include<cstdio> #include<fstream> #include<set> #include<cmath> #include<cstring> #include<string> #include<map> #include<vector> #include<iomanip> #include<cstdlib> #include<list> #include<queue> #include<stack> #include<algorithm> #define inf 0x3f3f3f3f #define MOD 1000000007 #define mem0(a) memset(a,0,sizeof(a)) #define mem1(a) memset(a,-1,sizeof(a)) #define meminf(a) memset(a,inf,sizeof(a)) //vector ::iterator it; //set<int>::iterator iter; typedef long long ll; typedef unsigned long long ull; using namespace std; int a[100001]; int judge(int n)//判断回文 { bool flag=true; int i=0,j=n-1; while(i!=j) { if(a[i]!=a[j]) { flag=false; break; } else { i++; j--; } } return flag; } int main() { std::ios::sync_with_stdio(false); cin.tie(0); int n,b,j=0; cin>>n>>b; while(n)//进制转换 { a[j]=n%b; n/=b; j++; } if(judge(j))cout<<"Yes"<<endl; else cout<<"No"<<endl; cout<<a[j-1]; for(int i=j-2;i>=0;i--)cout<<' '<<a[i]; cout<<endl; //freopen("test.txt","r",stdin); //freopen("output.txt","w",stdout); return 0; }
转载请注明原文地址: https://www.6miu.com/read-5038314.html

最新回复(0)