程序【13】

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

首先我们先根据题目来思考这道题的的底层概念,水仙花数,它首先是一位三位数字,其次每一位数字上的立方和都等于这个三位数字。从这里我们可以知道我们在编程的时候,首先要提取出每一位上的数字,在进行求立方和,最后判断,立方和是否等于本身,等于则是水仙花数,不等于则不是水仙花数字。

在开始编程之前,我要告诉大家的是,像水仙花数字这样的数字,还有一个大家庭,它们都有不同的超能力!!!

然后,根据我们所分析的,我们就可以编写出这个程序!!!

第一种:

这种方法就是暴力的方法,求出每一位的值,再暴力的求出每一位数字的立方,最后相加判断。

#include<stdio.h>int main()
{int i,x,y,z;for(i=100;i<1000;i++){x=i%10;y=i/10%10;z=i/100%10;if(i==(x*x*x+y*y*y+z*z*z))printf("%d\n",i);}return 0;
}

第二种方法:

这个方法,省略的暴力求每位的三次方,而是选择使用头文件#include<math.h>自带的库函数pow(),能有效地节省花费的时间,而且代码整洁好看。

#include<stdio.h>
#include<math.h>//该头文件包含了POW()函数
//打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
//本身。例如:153 是一个“水仙花数”,因为 153 = 1 的三次方+5 的三次方+3 的三次方。
int main() {int ret = 0;//声明定义水仙花数字int ge = 0;//声明定义个位上的数字int shi = 0;//声明定义十位上的数字int bai = 0;//声明定义百位上的数字for (ret = 100; ret < 1000; ret++) {bai = ret / 100;shi = (ret % 100) / 10;ge = ret % 100 % 10;if (ret == (pow(ge, 3) + pow(shi, 3) + pow(bai, 3)))//pow(a,b)意思是a的b次方{printf("水仙花数字:%d",ret);printf("\n");}}return 0;
}

C语言经典例题100道(求找水仙花数字)相关推荐

  1. C语言经典例题100道(求素数最全的方法在这里!!!)

    程序[12] 题目:判断 101 到 200 之间的素数. 程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. 看到这里,我们很清楚 ...

  2. C语言经典例题100道(没错,就是你要找的那个)

    C语言经典例题100道(没错,就是你要找的那个) 希望可以帮助到你,加油!!! [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位 ...

  3. C语言经典例题100道(辗转相除求最大公约数和最小公倍数)

    程序[16] 题目:输入两个正整数m和n,求其最大公约数和最小公倍数. 程序分析: (1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数: (2)求最大公约数用辗转相除法(又名 ...

  4. C语言经典例题100道

    程序[8] 题目: 题目:输出9*9口诀. 程序分析:分行与列考虑,共 9 行 9 列,i 控制行,j 控制列. 众所周知,在看到编程题目前,最重要的就是先构思,要有思维,然后把自己的思维在脑中构成一 ...

  5. C语言经典算法100道实战题

    [C语言经典算法100道实战题]适合具备C语言基础语法的同学学习,提高编写程序的逻辑思维能力和算法设计能力专门精心设计.100个经典的算法供大家练习及配套对应的录播视频.为我们今后学习其它的编程语言和 ...

  6. C语言经典例题100例(一)

    C语言经典例题100例(程序一) 程序一 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 解: 首先看题本身是数字相互排列且不重复问题,用循环语句就可以解决.要求输出而是 ...

  7. c语言 正整数 几位 逆序,c语言经典例题:正整数求位数and求顺、逆序位数

    经典例题:正整数求位数and求顺.逆序位数 题目要求: 给出一个int整形正整数,要求: 1.求出它是几位数字 2.按照逆序分别输出每位数字,例如123输出为321 3.按正序输出每位数字 分析: 一 ...

  8. c语言经典例题100例

    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的 ...

  9. python精彩编程200例百度_完整word版,python经典例题100道

    [程序 1 ] 题目:有 1 . 2 . 3 . 4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? [程序 2 ] 题目:企业发放的奖金根据利润提成.利润 (I) 低于或等于 10 万 ...

最新文章

  1. xCode自定义快捷键
  2. linux upx 报错 NotCompressibleException
  3. 全球与中国节能冷却塔销售渠道分布及市场营销状况分析报告2022-2028年版
  4. Django系列目录
  5. linux shell脚本攻略第3版_「技术干货」师傅说不会写shell脚本的网安不是一个好黑客,实战...
  6. c++ 添加按钮_使用 Visual Studio 2019 批量添加代码文件头
  7. SAP MM模块-实施顾问岗位-面试手册-目录
  8. 微软为何选择在 Github 上开源 .NET 核心?
  9. maven项目依赖被改为文件夹时如何改回lib
  10. 程序员的进阶课-架构师之路(9)-平衡二叉树(AVL树)
  11. python ttk separator_Python3 tkinter基础 Menu add_cascade 多级菜单 add_separator 分割线
  12. php处理post序列化,使用jQuery POST和php序列化和提交表单
  13. Kafka从上手到实践 - 庖丁解牛:Consumer | 凌云时刻
  14. 【优化选址】基于matlab穷举法求解小区基站选址优化问题【含Matlab源码 439期】
  15. unity3d Md5打包与版本更新
  16. 让我们在网页中实现数据库的增删改查~
  17. python计算天数包含几周_如何在python中计算几周内两个日期之间的差异
  18. win10系统怎么修复网络连接服务器失败怎么办,Win10网络重置后无法连接网络怎么办 网络重置后恢复网络方法教程...
  19. 网文快搜——职业生涯
  20. EndNote X7使用笔记

热门文章

  1. JVM 持久代参数:-XX:PermSize(jdk1.8之前)
  2. java计算机毕业设计试验检测仪器管理系统源码+系统+mysql数据库+lw文档
  3. 不熬夜,成了我们最难的自律
  4. jieba分词错误_jieba中文分词
  5. TypeError:iteration over a 0-d tensor
  6. android8 老手机,老用户福音 四款荣耀老产品即将升级安卓8.0
  7. 解决win10 关键错误开始菜单和cortana无法工作 的问题(转-真的成功了)
  8. 为什么stm32有的外设在进行初始化的时候需要将寄存器重设为缺省值?不设置会怎么样?...
  9. 挑选适合自己的英文原版书
  10. Java迭代器修改元素