不足之处,请指正。

题目:求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=13+53+3^3,则153是一个“水仙花数”。

在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。

例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数:

153 = 1^3 + 5^3 + 3^3。

370 = 3^3 + 7^3 + 0^3。

371 = 3^3 + 7^3 + 1^3。

407 = 4^3 + 0^3 + 7^3。

1.很挫的代码

for (int i=100; i<=999; i++)
{int t = pow(i%10,3) + pow(i/10%10,3) + pow(i/100,3);if (t == i){printf("%d ",i);}
}

我写的这段代码真的是很挫很挫,如果要求0~9999999之间的水仙花数呢?难道有多少位就写多少个pow嘛?

2.稍加修改后的代码

for (int i=0; i<=999; i++)
{// 1.确定位数int cnt = 1;int sum = 0;int temp = i;while(temp > 9){cnt++;temp /= 10;}// 2.计算次方和temp  = i;while(temp){sum += pow(temp%10,cnt);temp /= 10;}// 3.判断打印if (sum == i){printf("%d,",i);}
}

这下就思路清晰了很多,虽然稍微长了点。

3.反思

国庆开始啦,今天开始读《高质量C/C++编程指南》,今后code需要养成良好的习惯。

继续学习。

本文完,不足之处,请指正。

水仙花数C语言代码优化相关推荐

  1. c语言上机报告之水仙花数,C语言上机报告之水仙花数..doc

    C语言上机报告之水仙花数. C语言程序设计 上机报告 课题名称:水仙花数的算法 院 (系):工程学院 专业班 级: 052126 学生姓名: 喻培 学 号: 20121004040 指导教师: 熊慕舟 ...

  2. c语言中水仙花数的代码,水仙花数c语言实现代码

    水仙花数c语言实现代码 任务二报告 v1.2 前言: 本次任务我使用的是c语言(其他语言不熟悉...汗颜). 源码: #include int main() { int a,b,c,d,e,f,g,h ...

  3. vs水仙花数c语言代码,求水仙花数c语言代码怎么写

    求水仙花数c语言代码怎么写 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮 ...

  4. C语言经典题目 水仙花数,C语言经典练习题:水仙花数

    废话不说直接进入正题:传说中的水仙花数就是一个三位数的各个位数的三次方之和就是这个数本身例如153=1*1*1+5*5*5+3*3*3. 好,开始解题:首先,题中已经说了水仙花数是一个三位数,也就是说 ...

  5. 求两个数之间的水仙花数.c语言,求水仙花数(C语言/Java)

    求出0-999999之间的所有"水仙花数"并输出. "水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身, 如:153=1 ^ 3+5 ^ 3+3 ^ ...

  6. 水仙花数c语言程序解析,C语言求水仙花数代码解析

    原标题:C语言求水仙花数代码解析 水仙花数 "水仙花数"又称为"阿姆斯特朗数".如果一个n(n≥3)位数的各位数字的n次幂之和等于该数本身,则该数称为" ...

  7. 找出m到n水仙花数c语言程序设计,《C语言课程设计输出水仙花数》.doc

    <C语言课程设计输出水仙花数> C语言程序设计课程设计 评语: 考勤(10)纪律(10)过程(40)设计报告(30)答辩(10)总成绩(100) 专 业: 班 级: 姓 名: 学 号: 指 ...

  8. 求水仙花数C语言实现

    所谓水仙花数(NarcissisticNumber)是指一个3位数,其各位数字的立方和等于它本身. 思路:(1)将该数各位数字分解出来,然后求各数字立方和是否等于原数 (2)凑3个数字,组成一个三位数 ...

  9. c语言如何水仙花数,c语言如何解水仙花数

    c语言解水仙花数的方法:首先按[CTRL+N]新建一个源代码:然后输入水仙花数的源代码:接着按[F9]进行编译:最后显示无错误后按[F10]运行即可. c语言解水仙花数的方法: 1.首先什么是水仙花数 ...

最新文章

  1. ubuntu下面pycharm设置pyspark的配置
  2. [css] ui设计中px、pt、ppi、dpi、dp、sp之间的关系?
  3. 新高考不选物理可以学计算机吗,新高考选科中物理真的那么重要吗?没有选物理是不是完了?...
  4. Excel数据导入数据库(Java)
  5. html js 选择器,h.js - dom元素选择器
  6. java持久层用文件_JAVA中用三种方法将字符串持久化到文件中
  7. 这些测试细节,你注意到了吗?
  8. 设计模式之模版方法模式
  9. Python学习笔记008_类_对象_继承_组合_类相关的BIF
  10. oracle参数文件与启动过程
  11. php基于纯真IP数据库实现IP地址信息查询
  12. Linux开发板无法连接ssh
  13. 中兴新支点操作系统_中兴新支点系统预装测试
  14. 幻想破灭!为何“每个儿童一台笔记本电脑”项目屡屡陷入困境?
  15. 虚拟机如何安装wim文件系统镜像
  16. 1490_TC275_UART_shell例程测试
  17. 学术不端网查重靠谱吗_知网查重链接哪个靠谱
  18. React入门(一)之基本语法(内容较多)
  19. 数值分析之牛顿拉夫森迭代(牛顿法)
  20. McAfee全面数据丢失防护产品概述

热门文章

  1. Linux内核ARM架构异常中断向量表
  2. 如何安装使用“聚宽” --- JQData
  3. 未来:一餐肯德基的钱就能买颗钻石
  4. HTML5视频与音频
  5. 基于Web的Markdown编辑器HedgeDoc
  6. POI导出的Excel文件无法打开
  7. 【C++】构造函数与析构函数
  8. nginx slab内存管理机制
  9. 【JAVA】应声虫程序
  10. phpstorm 设置模板