我的思路是先把N转换成八进制存进一个数组(我这里是逆序存储,不过不影响结果)然后就比较就行了,
大佬顺便帮我看看顺序存的话是改递归还是什么的,代码如下
···#include<iostream>
#include<vector>
using namespace std;
int main()
{
auto N{0};
cin>>N;
vector<int> v;
while(N>=8){
int n=N%8;
v.push_back(n);
N/=8;
}
v.push_back(N); //把首位也存进去
auto left=v.begin(),right=v.end()-1;
auto flag{1}; //假设YES
while(left<right){
if(*left!=*right){
flag=0; //更改YES并跳出循环
break;
}
left++;right--;
}
cout<<(flag?"YES":"NO")<<endl;
return 0;
}