前言:

通常我们都知道水仙花数只有三位数,但是随着难度的加深各种水仙花数层出不穷,今天我就将步骤分解到最详细帮助大家理解,并写出两种版本。


写代码之前我们需要知道什么是水仙花数?水仙花数就是每一位对应的次方相加等于它本身的数,例如:520,这个数是三位所以其每一位的次方数都是三.我们计算它的每一位次方后再相加,0^3+2^3+5^3=133!=520,所以520不是水仙花数,因此我们可以将求水仙花数大概分为3步.

1.算出要求的数有几位,有几位就是几次方.

2.将每一位次方后相加.

3.判断是否等于原数.

1.学习版

#include<stdio.h>
#include<math.h>
int main() {for (int i = 0; i <= 10000; i++) {//首先产生0-10000个数//其次确定水仙花数的位数和每一位的次方相加int temp = i;//这里很容易直接将i代入while中造成内部循环改变外部循环int count = 1;//最小的一位次方也是1int sum = 0;while (temp / 10) {//判断位数count++;temp /= 10;//while仅仅是判断这一步才是改变}temp = i;while (temp) {//计算每一位的次方sum+= pow(temp % 10, count);//每一位相加temp /=10;}if (sum == i) {printf("%d ", i);}}return 0;
}

2.函数版

#include<stdio.h>
#include<math.h>
int is_daffodils(int x) {int temp = x;int count = 1;int sum = 0;while (temp / 10) {count++;temp /= 10;}temp = x;while (temp) {sum += pow(temp % 10, count);temp /= 10;}if (sum == x) {return 1;}else {return 0;}}
int main() {for (int i = 0; i <= 10000; i++) {int ret = is_daffodils(i);if (ret == 1) {printf("%d ", i);}}return 0;
}

1-10000水仙花数相关推荐

  1. c语言1 2 10000,C语言1~10000之间所有水仙花数

    水仙花数具备"各位数字的位数次方和等于其自身"的性质.遍历1~10000之间可能有解的部分,先测出其数字的位数n,再分离数字的各位,求各位数字的n次方的和便是结果.具体操作可先将要 ...

  2. C语言求梅花数1到9999,找出1到10000的水仙花数,完全数,还有同构数

    Private Sub Command1_Click() Print "水仙花数"; For i = 100 To 9999 s = Trim(Str(i)) If Len(s) ...

  3. 打印所有的水仙花数python_打印出10000以内的所有的水仙花数——python

    水仙花数:一个三位数,其各位数字立方和等于该数本身.如153是一个水仙花数,因为153=pow(1,3)+pow(5,3)+pow(3,3). 教材上出的这道题严格来说不严谨,三位的才叫水仙花数.按题 ...

  4. 水仙花数java_Java三种求水仙花数的方法

    水仙花数:水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:370=33+73+00:371=33+73+13,370.371就是一个水仙花数 注意:要判断一个三位数是不是水仙花数,得先 ...

  5. 水仙花数 与 变种水仙花数 的求解 【C语言】

    目录 水仙花数 变种水仙花数 水仙花数 简介:水仙花数是自幂数中的一种,三位自幂数又被称为水仙花数. 补充:如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数. ...

  6. 打印出所有的水仙花数javascript_习题4-6 水仙花数 (20分)

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=1​3​​+5​3​​+3​3​​. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给 ...

  7. 3位水仙花数计算pythonoj_Python解答蓝桥杯省赛真题之从入门到真题

    若发现此文章消失,则是在等待审核中,稍等一会儿即可显示,谢谢. 另外,我会尽量晚上上传更新题目. 此文章太长了,导致MD编辑器很卡,另写了一篇接续 传送门 Python解答蓝桥杯省赛真题之从入门到真题 ...

  8. 使用函数输出水仙花数

    使用函数输出水仙花数 (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=1​3​​+5​3​​+3​3​​. 本题要求编写两个函数,一个判断给 ...

  9. 4位数的水仙花c语言,C语言程序设计100例之(4):水仙花数

    例4    水仙花数 题目描述 一个三位整数(100-999),若各位数的立方和等于该数自身,则称其为"水仙花数"(如:153=13+53+33),找出所有的这种数. 输入格式 没 ...

  10. 实验5-9 使用函数输出水仙花数 (20 分)

    实验5-9 使用函数输出水仙花数 (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13+53+33. 本题要求编写两个函数,一个判断给定整数 ...

最新文章

  1. mysql5.7数据库快照_lvm快照备份数据库(Mysql5.7)
  2. CentOS 7.4搭建Kubernetes 1.8.5集群
  3. Nginx安装及运行服务
  4. 大话oraclerac集群、高可用性、备份与恢复_数腾Oracle RAC数据库灾备解决方案
  5. leetcode 621. 任务调度器(贪心算法)
  6. Mars 如何分布式地执行
  7. VC2008 Windows Media Player控件的使用技巧 二
  8. 员工为什么缺乏执行力?
  9. JavaScript浏览器编程之——使用Cookie传递参数
  10. The method isEmpty() is undefined for the type String/String类型的isEmpty报错
  11. C#学习笔记29——c#使用word、excel、pdf
  12. 飞凌单片机解密_干货:芯片解密方法大全
  13. 1.2 微信小程序开发-用户登录页面设计
  14. SAP数据接口技术类型
  15. 面向硬件编程的一些思考
  16. iOS中雷达波扩散Layer层动画的实现
  17. 经纬度格式化转换-数据库函数方式
  18. BUUCTF misc 专题(83)从娃娃抓起
  19. Web Service描述语言 WSDL 详解
  20. vim 重新编译,支持lua (compile vim with lua)

热门文章

  1. 如何用腾讯云服务器搭建网站
  2. 禁用deepin的搜狗输入法简繁切换快捷键
  3. 小白python爬虫入门实例2—— 翻页爬取京东商城商品数据
  4. TCP-IP详解:SACK选项(Selective Acknowledgment)
  5. html如何设置导航栏例子,CSS 导航栏
  6. IAR——使用方法总结
  7. 数学期望一-指数分布的数学期望
  8. 关于奇亚Chia(XCH)的一些理解,共识机制 - 爆块机制
  9. python学习笔记_week19
  10. 3dmax导出fbx模型到unity