题目
描述:
水仙花数又称阿姆斯特朗数。
水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
求输入的数字是否为水仙花数
练习阶段:
初级
代码
#include <iostream>
#include "oj.h"
#include <vector>
using namespace std;
vector<int> NumSplit(int num){
vector<int> result;
if(num == 0){
result.push_back(0);
return result;
}
if(num < 0){
return result;
}
int tmp = num;
while(tmp){
result.insert(result.begin(),tmp % 10);
tmp /= 10;
}
return result;
}
unsigned int NOfNum(int num,int size){
if(size <= 0){
return 0;
}
unsigned int result = 1;
for(int i = 0;i < size;++i){
result *= num;
}
return result;
}
unsigned int IsDaffodilNum(unsigned int nValue){
if(nValue <= 0){
return 0;
}
vector<int> numvec = NumSplit(nValue);
int size = numvec.size();
int result = 0;
for(int i = 0;i < size;++i){
result += NOfNum(numvec[i],size);
if(result > nValue){
return 0;
}
}
if(result == nValue){
return 1;
}
return 0;
}
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
华为机试一霸教你过华为机试演讲稿..pdf
华为OD机试(..75.rar
华为机试真题(非牛客网试练题)OD考试真题,不定期更新,文档含代码解答
华为机试一霸教你过华为机试.doc
华为机试一霸教你过华为机试。大菊厂招聘有三关,心理测试,机试,面试。
。。。
。。。
华为机试算法题总结 经验分享
华为机试oj练习题2014
华为机试一霸教你过华为机试e-18页.pdf
华为OD系列--华为OD机试
本人在准备2014年华为机试的时候,进行整理的,代码全部运行成功。如有错误,请大家见谅。
华为机试题目100题练习题
私信博主获取三天体验卡,免费看所有华为OD真题、考试报告、手撕代码、面试记录
华为机试成功归来,与小伙伴们分享下经验
私信博主免费获取真题解析以及代码
大师兄教你如何过华为机试
华为机试.md
贰壹贰叁零华为OD机试.pptx 华为OD机试.pptx 华为OD机试.pptx