题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=532
关于这种数学题,其实还是需要多加训练的。做的多了头脑就灵活了。额!其实这道题也不算太难啦!下面分享一下吧!
主要就是sum函数中的那点代码,如果你看懂了。恭喜你,此题已成小菜!看不懂,没关系,自己找几个大点的测试数据,来调试一番,自己推理一下!Understand!
#include
using namespace std;
int res;
int sum(int x,int y)
{
int i,k=1;
for(i=0;i k*=9;return k*x;
}bool flag(int y){int x,z=0;
while(y)
{x=y%10;y=y/10;if(x==0)
return false;
res+=sum(x,z);z++;}return true;
}int main()
{int n;
while(cin>>n)
{res=0;if(n==0||!flag(n))
cout<<"Unlucky"<else
cout< }return 0;
}