DevForge学编程社区慕课西北工业大学C++程序设计练习题5 找幸运数
思路:讲一个数的各个位数字拆出来,再将其反序组成一个新数字,若与原来的数字相同,则是幸运数,反之,则不是
#include<iostream>
using namespace std;
int main()
{
int num,new_num;
cin>>num;
int a,b,c,d,e;//分别为个位,十位,百位,千位,万位
e=num/10000;
d=(num%10000)/1000;
c=(num%1000)/100;
b=(num%100)/10;
a=num%10;
//cout<<a<<endl<<b<<endl<<c<<endl<<d<<endl<<e<<endl;//验证拆出来的各个位上的数是否正确
if(e==0){
new_num=a*1000+b*100+c*10+d;
}
else if(d==0){
new_num=a*100+b*10+c;
}
else if(c==0){
new_num=a*10+b;
}
else if(b==0){
new_num=a*10;
}
else if(a==0){
new_num=0;
}
else{
new_num=a*10000+b*1000+c*100+d*10+e;
}
//cout<<new_num;//验证新组成的数字是否正确
if(new_num==num) cout<<"yes";
else cout<<"no";
}