/*
* 程序的版权和版本声明部分:
* Copyright (c) 2013,郑州大学SIAS国际学院
* 作 者: 王 杰
* 完成日期:2013 年 11 月 8 日
*
* 对任务及求解方法的描述部分:
* 输入描述: 略或见注释、总结
* 问题描述: 略或见注释、总结
* 程序输出: 略或见注释、总结
* 问题分析: 略或见注释、总结
* 算法设计: 略或见注释、总结
*/
#include<stdio.h>
#include<math.h>
int main()
{
int n,a,b,c,d;
while(scanf("%d",&n) && n){
a=pow(n/100,3);
b=pow((n/10)%10,3);
c=pow(n%10,3);
d=a+b+c;
if(d==n)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
运行结果:
总结:也没什么了。很简单的一道题了。恩,要说的话也就是数与数组之间的转换了。一个整形数据转换成数组表示,和数组表示的转换成一个整形表示。不同的情况不同的选择了。