水仙花数问题.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
⽔仙花数问题 ⽔仙花数问题 编程其实挺简单的 ,就是头顶有点凉! ⽔仙花数问题简介: ⽔仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、⾃恋数、⾃幂数、阿姆斯壮数或 阿姆斯特朗数(Armstrong number),⽔仙花数是指⼀个 3 位数,它的每个位上的数字的 3次幂之和等于它本⾝(例如:1^3 + 5^3+ 3^3 = 153)。 说简单点就是 ⼀个3位数,它的每个位上的数字的3次幂之和等于它本⾝。 例如:1³+5³+3³=153 这东西不⽤再分解了吧! 算了知道你们懒。 假如有⼀个数字153 153(1是百位,5是⼗位,3是个位) 1³ (百位上数字的三次⽅) 5³ (⼗位上数字的三次⽅) 3³ (个位上数字的三次⽅) 1³=1×1×1=1; 5³=5×5×5=125; 3³=3×3×3=27; 1+125+27=153;(各个位上的数字三次⽅之和等于原数字) 那么这个数字153就是⽔仙花数! 那么正⽚开始: 利⽤C++代码我们可以看⼀下所有的三位数中有⼏个⽔仙花数! 算法思想: 1.设计⼀个算法能对100-1000之间的数进⾏分析,将符合条件的数进⾏输出 2.三个int变量分别代表 个位、⼗位、百位上的数字 例如 a代表个位 b代表⼗位 c 代表百位 ; 3.怎么实现上述的代表是最关键的: 可以利⽤如下表达式 : a=num%10;(个位上的数字相当于这个三位数除以10取余数,例如338%10=8) b = num / 10 % 10;(⼗位上的数字相当于这个三位数除以10之后再除以10取余数,例如555/10=55.5%10=5) c = num / 100;(百位上的数字相当于这个三位数除以100,因为是int型,向下取整,例如:int c=113/100=1.13,int c=1) 4.取到每⼀位上的数字之后 ,进⾏判断a³+b³+c³等于不等于a×1+b×10+c×100 也就是原数字。 5.等于的话就是⽔仙花数输出,不等于的话不是⽔仙花数! 6.函数功能采⽤do while实现 100-1000也就是三位数的循环 附上源码 #includeiostream using namespace std ; int main() { int num = 100; do { int a = 0; int b = 0; int c = 0; a = num % 10; b = num / 10 % 10; c = num / 100; if (a*a*a+b*b*b+c*c*c==a*1+b*10+c*100) { cout num endl; } num++; } while (num 1000); system(pause); return 0; } 欢迎测试,欢迎指正。 如果您觉得⽂章还不错,欢迎点赞评论加关注哦!

文档评论(0)

掌心教学资料库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档