华为入职培训题——水仙花数

描述:
水仙花数又称阿姆斯特朗数。

水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。

(例如:1^3 + 5^3 + 3^3 = 153)

求输入的数字是否为水仙花数

知识点:
工程环境请使用VS2005

题目来源: 软件训练营
练习阶段: 初级

这题不知道有没有好的方法,我的代码效率不高,就是按要求做下来,希望各位大年给说说高效的算法~

#include<iostream>
using namespace std;
// 功能:判断输入 nValue 是否为水仙花数
// 输入: nValue为正整数
// 输出:无
// 返回:如果输入为水仙花数,返回1,否则返回0
unsigned int IsDaffodilNum(unsigned int  nValue)
{
	unsigned int i=0,j,sum,tmp,tmp1;
	unsigned int n=nValue;
	//取得位数,位数最后用变量i表示
	while(n)
	{
		i++;
		n/=10;
	}
	if(i<3)return 0;//如果位数小于3则不是水仙花数
	//对各位数进行计算次方和
	n=nValue;
	sum=0;
	while(n)
	{
		tmp=n%10;
		tmp1=tmp;
		for(j=1;j<i;j++)
			tmp1*=tmp;
		sum+=tmp1;
		n/=10;
	}
//次方和与给定数字相等,则是水仙花数
	if(sum==nValue)return 1;
	return 0;
}

int main()
{
	if(IsDaffodilNum(153))cout<<"yes"<<endl;
	return 0;
}
时间: 2024-10-14 10:44:43

华为入职培训题——水仙花数的相关文章

入职培训学习心得

为期一周的入职培训已经结束,期间学习了华为的企业文化.核心价值观.人力资源管理政策制度以及商业行为准则等,而现在唯一能脱口而出的便是华为的核心价值观——“以客户为中心,以奋斗者为本,长期艰苦奋斗,坚持自我批判”.有些朋友说我已经成功被“洗脑”,但我不这样认为.所谓“洗脑”,大概是把自己脑海中原来的观念和价值观全部抹去,然后注入新的观念和价值观.但我知道我一直秉承的一些观念或者价值观依然还在,而华为的价值观,其实更多是为我提供工作上的一个指引.二十四字的华为价值观,不同的人会有不同的解读,下面我主

周鸿祎在360新员工入职培训上的讲话_职场励志

周鸿祎在360新员工入职培训上的讲话 我想给新入职的同事讲一讲我的希冀,再提几个建议.我这团体喜欢说真话,不喜欢说美丽话,由于美丽话没用.但说真话,大家能够不爱听. 首先,大家一定要明白,你自己来360究竟想取得什么. 我觉得,第一你一定得在360学到才干,学到身手才行,由于你未来要行走江湖,要成名立万,靠的就是才干和身手.在座的大少数既不是高干子弟,也不是富二代,跟我一样都是平民子弟.不少是第一代来北京的移民,独一能依托的就是自己的双手和头脑.你要想成功,身手是最重要的,其他都是虚的.公司有没

【华为练习题 】 n位水仙花数(初级)

[华为练习题 ] n位水仙花数(初级) 题目 水仙花数又称阿姆斯特朗数. 水仙花数是指一个n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 求输入的数字是否为水仙花数 解答 #include <iostream> #include <vector> using namespace std; bool isRight(int n){ vector<int> v; int sum = 0, tmp =

周鸿祎在360新员工入职培训上的讲话(他们都是太聪明,把自己混失败了。大家一定要记住,混日子就是在糜费自己的时间。假设你不喜欢360,你一定要尽快换,尽快找到自己喜欢的事情)

摘要: 我想给新入职的同事讲一讲我的希冀,再提几个建议.我这团体喜欢说真话,不喜欢说美丽话,由于美丽话没用.但说真话,大家能够不爱听. 周鸿祎在360新员工入职培训上的讲话 我想给新入职的同事讲一讲我的希冀,再提几个建议.我这团体喜欢说真话,不喜欢说美丽话,由于美丽话没用.但说真话,大家能够不爱听. 首先,大家一定要明白,你自己来360究竟想取得什么. 我觉得,第一你一定得在360学到才干,学到身手才行,由于你未来要行走江湖,要成名立万,靠的就是才干和身手.在座的大少数既不是高干子弟,也不是富二

正常性入职岗前培训(非培训机构的实习生入职培训)---基础知识总结

一:正常性大三实习生入职岗前培训总结: 也许题目应该叫"那个矫情的大三实习生已经入职实习了": 之前那个矫情的大三生写的找工作的感受(上次是偏理论性,这次是实践性出来找工作): 一个忙着找实习工作的大三在校生的真实感受:http://www.cnblogs.com/biehongli/p/6831510.html 1:先说说如何找工作的吧,希望对大三的(非考研的,非靠公务员,想从事本行业的),想出去找工作的有所帮助,我在河南南阳就读,地处偏远,离大城市偏远.开始正题吧,简单说一下自己的

C++刷题-水仙花数

Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3. 现在要求输出所有在m和n范围内的水仙花数. Input 输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999). Output 对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于 m,并且小于等于n,如

麦肯锡入职培训第一课

第一章 逻辑思考并不难 麦肯锡的“真正的逻辑思考”是“批判性思考(通过深刻洞察得 出自己的想法),逻辑性展开(用简单易懂的方式表达)”,至于具体 的思考过程,通过接下来的 3 个步骤 Step1 亲自确认前提条件(这是真的吗?) Step2 深入调查证据(……所以会这样) Step3 持有属于自己的意见(这个不错) 第二章 批判性思考 深入思考的核心不要把“关联关系”和“因果关系”混为一谈看事情不要流于表面 批判性思考的3个基本方法1 明确目的是什么 2 明确思维模式框架 3 不断发问(所以呢?

入职培训笔记记录--day9(1、指针函数与函数指针、函数指针数组 2、malloc memset 3、递归函数 4、结构体 5、共用体---》大小端 6、枚举)

1.指针函数与函数指针.函数指针数组 指针函数:返回值为指针的函数 char *fun() { char str[] = "hello world"; return str; } int main() { char *p = fun(); puts(p); return 0; } 编译时,会出现警告,返回了一个已经被释放掉的内存空间的首地址解决方法:1.static 2.char *str = "hello world"; 3.malloc 注意:使用完后要free

公司python入职培训流程

时间分为4周,全部自学,仅提供大纲.适用于Web方向: 1.Week1:读完<简明Python教程>,适应Python开发环境 2.Week2:写个爬虫,需要深入了解re.urllib2.sqlite3.threading,Queue等几个模块.需要用上多线程抓取,正则表达式分析,并发资源控制,重新开启程序自动继续抓取和分析 3.Week3:学习一种Web开发框架,推荐Flask.webpy之类的,学个数据库接口如sqlite3,写个简单的web应用如博客 4.Week4:给产品做个小功能并走