水仙花数 与 变种水仙花数 的求解 【C语言】
目录
- 水仙花数
- 变种水仙花数
水仙花数
简介:水仙花数是自幂数中的一种,三位自幂数又被称为水仙花数。
补充:如果在一个固定的进制中,一个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语言】相关推荐
- 水仙花数和变种水仙花数
水仙花数 描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: "水仙花数"是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+ ...
- “水仙花数”与变种“水仙花数”
目录 一.水仙花数 1.什么是水仙花数 2.设计要求 3.思路 4.分析 5.代码源 二.变种"水仙花数" 1.什么是变种"水仙花数" 2.设计要求 3.思路 ...
- 变种水仙花数 来自newcode一道初级编程题
变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily ...
- ACMNO.10打印出所有水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该本身。 例如:153是一个水仙花数,因为153=1^3+5^3+3^3。 Output: 153 ???
题目描述 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身. 例如:153是一个水仙花数,因为153=1^3+5^3+3^3. ...
- /* * 编程第三题(20分) 打印所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。(例153=1*1*1+3*3*3+5*5*5) */
题目: /* 编程第三题(20分) 打印所有的水仙花数.所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身.(例153=111+333+555) */ 我是用java做的 public cla ...
- 实例013:所有水仙花数 打印出所有的“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数“,因为153=1的三次方+5的三次方+3的三次方
实例013:所有水仙花数题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数&q ...
- Python今日编程——判断水仙花数然后求水仙花数
今天来的"潜一下水"咯,如何要用python函数写一个判断水仙花数的程序应该怎么做? 常规的编程题:编写一个判断一个数是否是水仙花数的函数,然后利用该函数求所有水仙花数. 然后思考 ...
- 什么是水仙花数并判断水仙花数
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身.例如:153 是一个 "水仙花数 ", ...
- /* 题目: * 打印出所有的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和 等于该数本身。 例如: 153 是一个 水仙花数
package Practice; public class Task_3 { /* 题目:* 打印出所有的 " 水仙花数 ",所谓 " 水仙花数 "是指一个三 ...
最新文章
- HDU 2035.人见人爱A^B-快速幂
- GeoMesa-空间数据存储引擎入门学习手册
- C++封装、构造函数、析构函数
- 一个最简单的SAP UI5应用部署到SAP云平台CloudFoundry环境后,自动生成了哪些资源
- AT2376-[AGC014D]Black and White Tree【结论,博弈论】
- matlab的灰色关联,五种灰色关联度分析matlab代码
- 实验4.2 实现客户机(CLIENT)类
- 绘制自己的人际关系图_绘制自己的人际关系网
- 专利查询下载的几个网站
- 爬取三个acm网站题库(neuqoj pku hdu)
- 如何把字符串复制给数组杭电11页几小题的总结
- Relative Orientation 与fundamental essential matrix
- inaflash什么意思中文_FLASH 到底是什么意思?
- @Cacheable使用详解
- Module and Component
- JavaSe9.29 集合
- 从实验室研发到大规模生产 纳晶科技量子点技术商用多点开花
- Android 传感器之《加速传感器》——摇一摇功能
- kali Linux2021安装和配置Cuckoo沙箱系统(详细教程)
- Osbypass苹果手机激活锁停用Hello密码锁绕ID屏幕锁密码支持三网(移动、联通、电信)国行版手机解锁打电话4G等支持打电话、短信、4G上网、重启、通知、iCloud登录