题解 | #回文对称数#
回文对称数
https://www.nowcoder.com/practice/5b143af8328f4e42adf5e10397ae44ef
#include <iostream> using namespace std; #include<vector> #include<cmath> int rnum(vector<int>* a){ int number = 0; for(int i = a -> size() ; i >= 1 ; i--){ number = number + a -> at(a -> size() - i) * pow(10,i-1); } return number; } int main() { int a; int z; int digit ; int rnumber; vector<int>* number = new vector<int> ; vector<int> b; cin >>a; for(int i = 1 ; i <= a ; i++ ){ z = i; while(z > 0 ){ digit = z % 10 ; number -> push_back(digit); z = (z -digit) / 10; } rnumber = rnum(number); number->clear(); if(rnumber == i) cout << i << endl; } return 0; } // 64 位输出请用 printf("%lld")
用指针返回 速度比较快 占内存比较小 在这里都差不多 主要是练练这样写法