藍橋杯之計蒜客迴文數
阿新 • • 發佈:2019-01-14
#include <iostream> #include <cstdio> using namespace std; int num[1005]; int b[1005]; bool judge(int x) { int cnt=0; //把每一位從高到低依次取出來 while(x) { b[cnt++]=x%10; x/=10; } for(int i=0;i<cnt/2;i++)//迴圈次數成對 { if(b[i]!=b[cnt-1-i]) { return false; } } return true; } int reserve(int n) { int j=0; while(n) { //把原來的數*10加新的數字 j=j*10+n%10; n/=10; } return j; } int main() { int n; cin>>n; int m=0; num[m++]=n; while(!judge(n)) { n+=reserve(n); num[m++]=n; } cout<<m-1<<endl; for(int i=0;i<m;i++) { if(i!=m-1) { cout<<num[i]<<"--->"; } else cout<<num[i]<<endl; } return 0; }