目录

  • 水仙花数
  • 变种水仙花数

水仙花数

简介:水仙花数是自幂数中的一种,三位自幂数又被称为水仙花数。

补充:如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数。
例如:在十进制中,153是一个三位数,各个数位的3次幂之和为13+53+3^3=153,所以153是十进制中的自幂数。
在n进制中,所有小于n的正整数都为自幂数,比如2进制中1是自幂数,3进制中1和2都是自幂数,4进制中1,2和3都是自幂数…


题目:求解0~100000范围间的所有水仙花数。(其他范围类比即可)

求解代码如下,相关补充说明在代码中以注释形式给出。

#include <stdio.h>
#include <math.h>
int main()
{int i = 0;for (i = 0; i <= 100000; i++) //范围{int tmp = i; // 防止i的值在求位数以及计算时被改变,影响结果判断int sum = 0;// 判断i的位数int cnt = 1; // 位数while (tmp/=10){cnt++;}tmp = i; // 注意!复位tmp的值重新为i ,再计算while (tmp){sum += (int)pow(tmp % 10, cnt); // pow函数返回类型是double 强制类型转换为 inttmp /= 10;}// 判断if (sum == i){printf("%d ", i);}}printf("\n");return 0;
}

变种水仙花数

简介:

变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。

例如:
655 = 6 * 55 + 65 * 5
1461 = 1 * 461 + 14 * 61 + 146 * 1

题目:求出 0~100000 中的所有 Lily Number。

求解代码如下,相关补充说明在代码中以注释形式给出:

#include <stdio.h>
int main()
{int i = 0;for (i = 0; i <= 100000; i++) // 范围{int j = 0;int sum = 0;for (j = 10; j <= 10000; j *= 10) // 取下每一位 用模10除10的方法 {sum += (i / j)*(i%j);}if (sum == i){printf("%d ", i);}}return 0;
}

总结:这是两道容易弄混以及易错的经典题目,博主整理下来以供大家参考~

over ~

水仙花数 与 变种水仙花数 的求解 【C语言】相关推荐

  1. 水仙花数和变种水仙花数

    水仙花数 描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+ ...

  2. “水仙花数”与变种“水仙花数”

    目录 一.水仙花数 1.什么是水仙花数 2.设计要求 3.思路 4.分析 5.代码源 二.变种"水仙花数" 1.什么是变种"水仙花数" 2.设计要求 3.思路 ...

  3. 变种水仙花数 来自newcode一道初级编程题

    变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily ...

  4. ACMNO.10打印出所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 Output: 153 ???

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

  5. /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */

    题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...

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

    实例013:所有水仙花数题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数&q ...

  7. Python今日编程——判断水仙花数然后求水仙花数

    今天来的"潜一下水"咯,如何要用python函数写一个判断水仙花数的程序应该怎么做? 常规的编程题:编写一个判断一个数是否是水仙花数的函数,然后利用该函数求所有水仙花数. 然后思考 ...

  8. 什么是水仙花数并判断水仙花数

    题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153 是一个 "水仙花数 ", ...

  9. /* 题目: * 打印出所有的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和 等于该数本身。 例如: 153 是一个 水仙花数

    package Practice; public class Task_3 { /* 题目:* 打印出所有的 " 水仙花数 ",所谓 " 水仙花数 "是指一个三 ...

最新文章

  1. HDU 2035.人见人爱A^B-快速幂
  2. GeoMesa-空间数据存储引擎入门学习手册
  3. C++封装、构造函数、析构函数
  4. 一个最简单的SAP UI5应用部署到SAP云平台CloudFoundry环境后,自动生成了哪些资源
  5. AT2376-[AGC014D]Black and White Tree【结论,博弈论】
  6. matlab的灰色关联,五种灰色关联度分析matlab代码
  7. 实验4.2 实现客户机(CLIENT)类
  8. 绘制自己的人际关系图_绘制自己的人际关系网
  9. 专利查询下载的几个网站
  10. 爬取三个acm网站题库(neuqoj pku hdu)
  11. 如何把字符串复制给数组杭电11页几小题的总结
  12. Relative Orientation 与fundamental essential matrix
  13. inaflash什么意思中文_FLASH 到底是什么意思?
  14. @Cacheable使用详解
  15. Module and Component
  16. JavaSe9.29 集合
  17. 从实验室研发到大规模生产 纳晶科技量子点技术商用多点开花
  18. Android 传感器之《加速传感器》——摇一摇功能
  19. kali Linux2021安装和配置Cuckoo沙箱系统(详细教程)
  20. Osbypass苹果手机激活锁停用Hello密码锁绕ID屏幕锁密码支持三网(移动、联通、电信)国行版手机解锁打电话4G等支持打电话、短信、4G上网、重启、通知、iCloud登录

热门文章

  1. VMware出现“该虚拟机似乎正在使用中 请获取所有权”
  2. Django源码分析3:处理请求wsgi分析与视图View
  3. Serializer反序列化使用之验证和保存
  4. 爬虫之selenium爬取斗鱼网站
  5. VS code 插件配置手册
  6. 七种编程语言的学习曲线
  7. 刷脸背后,卷积神经网络的数学原理原来是这样的
  8. 链表问题8——将单向链表按某值划分成左边小、中间相等、右边大的形式(进阶)
  9. zabbix系列~ 监控模式
  10. 一,初次接触html+css需要注意的小问题