判断一个数是否为水仙花数?

python练习实例——水仙花数判断 目录 题目 解法 输出结果 题目   判断给定的三位数是否 水仙花 数。所谓 水仙花 数是指其值等于它本身 每位数字立方和的数。例 153 就是一个 水仙花 数。 153=1^3+5^3+3^3。 解法 具体代码如下: #水仙花数判断 a=int(input()) x=a%100 y=a//10%10 z=a//100 b=x**3+y**3+z**3 if a == b: print('YES') else: print('NO') 输出结果 最后结果如下. 阅读详情

目录

知识回顾

知识延伸

思路梳理

接口剖析:

代码剖析:

法1:

法2:


知识回顾

知识延伸

 

下面是这些奇妙的自幂数的相应的区间之内的数值:

思路梳理

1、我们来在一个区间之内来判断这个区间的数有哪些数是水仙花数/相应的自幂数

以上的两种方式都通过写一个IsWaterFlower()的函数作为接口来直接判断

2、我们需要判断一个数是否为水仙花数,通过I/O(Input / Output)的方式来单次判断

接口剖析:

此处的key就是一个我们传入函数的判断值(普及一下在Java里面我们在C/C++之内被称为的函数就被称为“方法”了),下面我们来提前初始化几个我们需要使用的元素

代码剖析:

此处的sum就是我们用来装载一个水仙花数的容器,就是把水仙花数都放在sum里面,方便后面判断。

Remainder就是每次我们求出的每一位的数值,也就是每次/10之后得出的余数

ret就是一个交换器,我们不能让key直接暴露在整个程序中,我们得让key在最后进行判断时候发挥作用,所以我们必须在中途找一个交换器来每次更新key的数值。

我们想要知道一个数是否为水仙花数/自幂数,那么我们必须了解这个数的位数,就是为了去后续将他们变成水仙花数的方便的操作。

此处的count就是一个计数器,就是来计算我们需要判断的数的位数,因为每次让ret/10,就可以剥离末尾的一位数,直到ret被剥离完毕的时候(ret == 0),count的数值就是这个需要判断的数(ret也就是key)的位数。

我们后续还需要把每一位数剥离出来,所以此时ret的数值不能被剥离成0,所以此时我们继续使用key来重新赋值ret。

我们再继续使用sum来接收每一个水仙花数/自幂数,我们此时Remainder来剥离key中的每一个数,此时我们就需要每次Remainder =  ret%10(每次取余10就会得到一个末尾的个位数),此时我们就可以取出来他的每一个数来进行sum += (int)pow(Remainder , count),有人会问,pow是什么?

 我们也同时需要引入头文件#include<math.h>,pow(double x  , double y)也就是求一个数的n次方,x是底数,y是指数,我们最后得到的数需要是int类型的所以我们必须强制类型转换

把每一次的数的余数Remainder的count次方存入sum中,此时知道为什么要count这个计数器了吧!

我们再把这个数进行/10处理让他降位,直到ret(也就是key)变成0,

下面就是我们判断的时刻了,来判断一个数是否为水仙花数/自幂数

我们从始至终的key的数值来获得中间变量的过程变量都是被ret给代替了,sum每次都将key的每一位数的次方都存入,最终来进行判断,如果是水仙花数/自幂数,就返回1,否则就返回0。

等到我们后面使用接口的时候,就可以直接判断。 

法1:

给定一个区间Begin、End这两个变量来设定区间,我们使用一个for循环语句,每次进行判断,如果返回值是1的话,就是水仙花数/自幂数,如果是0,那就不是,不用执行任何操作。 

 

我们可以看见我们设定的区间解决了水仙花数/四叶玫瑰数。

 

法2:

 

直接给个input数,再直接调用接口IsWaterFlower(input)来判断是否为水仙花数/自幂数

 

好啦!今天的分享结束啦!你学到了吗?

码字不易!希望大家给个关注!后续我将会继续为大家带来更多高质量文章!

[python作业]编写函数,判断一个数是否为水仙花数。调用该函数打印出1000以内的所有水仙花数。水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如13+53+33= 编写函数,判断一个数是否为水仙花数。调用该函数打印出1000以内的所有水仙花数。水仙花数是指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身。例如13+53+33=153,则153是水仙花数。水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。 阅读详情

相关推荐

1000以内水仙花数算法实现及原理详解

水仙花数是指一个n位数,其各位数字的n次方之和等于该数本身。本文介绍了水仙花数的概念、算法原理及多种编程语言实现方法(Python、Java、JavaScript)。通过分析1000以内的三位数,得出共有4个水仙花数:153、370、371和407。文章还提供了算法优化思路,如预计算立方值以提高效率,并展示了如何扩展算法查找任意位数的水仙花数。该算法的时间复杂度为O(n×d),适用于小规模计算,对理解数字特性和编程实践具有指导意义。

学无止境 1万+

C语言 判断一个数是否为水仙花数

判断一个数是否为水仙花数,水仙花数是指三位数字的各位数字的立方和等于这个三位数本身。例如,153=111+555+333 #include<stdio.h> int main() { int a,b,c,d; scanf("%d",&d); a=d/100; b=(d-100*a)/10; c=d-100*a-10*b; if(d==a*a*a+b*b*b+c*c*c) { printf("是水仙花数\n",d); } else{printf("不是水仙花数\n",d

zhangwenqi02的博客 1万+

基于NXP i.MX RT1180的无传感器FOC电机驱动实战指南

磁场定向控制(FOC)是一种先进的电机控制技术,它通过精密的数学变换,将三相交流电机的控制解耦为独立的转矩和磁场分量,从而实现高效、平稳、低噪音的驱动。其核心原理在于利用Park/Clark变换,在旋转坐标系下对电流进行线性控制。这项技术的价值在于显著提升了永磁同步电机(PMSM)的效率与动态性能,广泛应用于机器人、无人机和工业自动化等高精度场景。本文聚焦于利用NXP i.MX RT1180跨界处理器及其MCUXpresso SDK,快速实现一套完整的无传感器FOC解决方案。通过解析硬件平台选型、软件架构,

weixin_33925615的博客 308

C语言————判断一个数是否为水仙花数

“水仙花数”:指一个三位数,其个位数字的立方和等于该数本身。 (如:153=1*1*1+5*5*5+3*3*3) 思路: ①设四个变量,分别代表这个未知数n的个位数a,十位数b,百位数c。所以n=a*a*a+b*b*b+c*c*c ②个位数a的表示方法就是n%10 十位数b的表示方法就是n/10%10 百位数c的表示方法就是n/100 看下面的程序吧! #include<stdio.h> void main( ) { int a,b,c,n; a=n%..

m0_61202012的博客 1万+

LPDDR5X内存技术解析:性能提升与优化策略

内存技术在现代计算系统中扮演着核心角色,其性能直接影响整体系统效率。LPDDR5X作为JEDEC最新标准,通过提升数据传输率至8533Mbps、优化能效比15%以上,并扩展突发长度至32字节,显著提升了移动设备的处理能力。这些改进特别适用于5G通信、AI加速(如昇腾芯片)及8K视频处理等高带宽需求场景。技术原理上,LPDDR5X引入了动态电压频率调整(DVFS)和可编程突发长度等创新机制,有效降低了实际应用中的延迟。在工程实践中,合理的PCB布局和信号完整性验证是确保高速稳定运行的关键。随着AI和8K应用的

weixin_29190169的博客 402

【收藏向】模拟电子技术超强知识点总结 20小时不挂科

模电真的有难度的一门课,一定要好好学… 用的教材是华科康华光版,其他版本教材也可参考,内容是差不多的。 话不多说直接上思维导图干货(后有思维导图高清原图链接) 1 绪论 2 运算放大器 3 二极管及其基本电路 4 场效应管及其放大电路 5 双极结型三极管及其放大电路 三种组态总结看不清,给个特写 发现虽然csdn上传的是原图,但是显示的图片不是特别清晰,在此贴出B站知乎地址,第五章之后的内容都在上面,还可以查看原图 ———————————————————— B站专栏地址(可以点击查看原图) htt

工科狗Niko的博客 1万+

python判断一个数是否为水仙花数_Python判断一个三位数是否为水仙花数的示例

Python判断一个三位数是否为水仙花数的示例如下所示:daffodil = int(input('请输入一个三位数:'))if daffodil == pow(daffodil // 100 , 3) + pow(daffodil % 10 , 3) + pow(daffodil // 10 % 10, 3):print("这是一个水仙花数%d" % daffodil)else:print("这...

weixin_39570777的博客 1万+

MuJoCo 相机图片怎么拿?视角调整获取物体图片及实时显示(附代码)

在Mujoco的仿真中,对于识别抓取场景来说,如何获得添加的body等物体的实时图像很重要,今天就分享下如何添加相机视角及可视化小方块(举例)的实时图片。复制一个scene.xml为scene_withcamera.xml,在xml中添加camera和小方块如下。设置xml文件中添加的相机body id。需要创建一个离屏渲染器。

darcsdn 2128

C语言判断一个数是否是水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1^3 + 5^3+ 3^3. #include <stdio.h> int narcissistic( int number ); int main() { int number; scanf("%d",&number); if(narcissistic(number)...

吴立赛的博客 1万+

PostgreSQL使用 pg_rman物理备份搭建流复制备库(streaming replication standby)

摘要:使用pg_rman备份搭建PostgreSQL流复制备库 本文详细介绍了利用pg_rman工具快速搭建PostgreSQL流复制备库的完整流程。该方法结合物理备份的高效性和流复制的实时性,特别适合大型数据库环境。主要内容包括:主库上的pg_rman安装配置、全量备份操作;备份文件传输至备库;备库数据目录准备及恢复;流复制参数配置;以及最终的启动验证步骤。文章还提供了架构示意图和关键配置示例,并包含常见问题排查建议,如备库无法启动或复制卡顿情况的处理方法。整个流程强调通过.pgpass文件管理密码的安全

liumangtuzi888的博客 1169

[Python] -项目实战10- 用 Python 自动化批量重命名文件

本文介绍了使用Python实现文件批量重命名的技术方法。主要内容包括:1)使用os和pathlib模块进行基础文件操作;2)提供多种实用脚本示例,如添加序号、替换字符、添加时间戳等;3)进阶功能包括用户输入和错误处理;4)GUI工具实现方案;5)常见问题与优化建议。文章详细讲解了从简单到复杂的批量重命名实现方法,帮助读者快速掌握这一提高工作效率的技能。建议开发者注意路径处理、错误管理等细节,确保脚本稳健运行。

每日出拳老爷子的博客 815

[PTA C语言]判断一个三位数是否为水仙花数

7-5 判断一个三位数是否为水仙花数 本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。 输入格式: 输入在一行中给出一个需要判断的整数 N(100≤N≤999)。 输出格式: 如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。 输入样例1: 153 输出样例1: Yes 输入样例2: 500 输出样例2: No 输入样例3: -2 输出样例3: Invalid V

小菜鸡学编程的博客 4万+

CUDA:实现使用cuSolverSP底层API实现Cholesky因式分解(附完整源码)

CUDA:实现使用cuSolverSP底层API实现Cholesky因式分解(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 346

python判断一个数是否为水仙花数_JS判断一个数是否是水仙花数

JS判断一个数是否是水仙花数水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153//判断一个数是否数水仙花数var num=prompt('请输入一个数字');//得到位数可以计算幂数var length=num.length;//使用字符串的方法获取每一位数var content=num.split("");//...

weixin_39718173的博客 653

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

4. 判断一个整数是否为水仙花数

题目 键盘输入一个整数,判断是否为水仙花数 思路 首先应该知道何为水仙花数: 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 水仙花数就是每一位的三次方相加等于原整数。解题思路就是定义 瞎扯淡 水仙花数只是自幂

longjiang321的博客 4500

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

如何判断一个三位数是否为水仙花数

如何判断一个三位数是否为水仙花数 水仙花数:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。 水仙花数是自幂数的一种,在固定进制前提下,一个n位自然数等于该数各个数位上数字的n次幂之和,则称此数为自幂数。 以题为例:设n为一个三位数(且是整数),如果n是水仙花数就输出1,否则就输出0 #include<stdio.h> int main(){ int n; while(scanf("%d",&n)){ i

Code_流苏:在代码中寻诗意,在实践中觅真知 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

使用快速的算法进行判断一个数是否为水仙花数

【C语言训练】“水仙花数"问题1 循环结构 / 枚举 空间限制:16MB时间限制:1s总提交数:3476通过率:47.64%题目来源: 站点添加 判断一个数是否为"水仙花数”,所谓"水仙花数"是指这样的一人数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=33+73+1^3. 一个三位数 1或者0(1代表此数为水仙花数,0代表此数不是水仙花数) 371 1 #include <stdio.h> #define c(t) ((t)*(t)*(t)) /**

走出那座山 1332

Java判断一个整数是否为水仙花数

判断一个整数是否为“水仙花数”(用带有参数的函数或方法实现,返回值类型为布尔类型)

2202_75614754的博客 1235

C语言中判断一个三位数是否是水仙花数,判断三位数是否为水仙花数

用C语言写出判断一个三位数是否为水仙花数的程序请给正确的答案,不懂的别进1.一个主程序,输出所有的水仙花数程序,可参考如下: #include int main(int argc, char *argv[]) { int i,n1,n2,n3,k=0; for (i=100;iC语言编程输入一个三位正整数判断是否为”水仙花数”//提示:153 370 371 407 是水仙花数 #include ...

weixin_35414437的博客 1万+

定义一个三位整数,判断是否为水仙花数

定义一个三位整数,判断是否为水仙花数 public static void main(String[] args) { // 7、定义变量保存一个三位的整数,判断该数是否是水仙花数(数字等于三个位数的立方和)数字 = 个位数的立方 + 十位数的立方 + 百位数的立方 ,是的话输出是水仙花数否则输出不是。   int r = 153;   int r1 = r%10;//取余个位...

qq_44852459的博客 3440

输入一个数,判断是否是水仙花数

输入一个数,判断是否是水仙花数问题描述测试结果 问题描述 请判断一个数是不是水仙花数。其中水仙花数定义各个位数立方和等于它本身的三位数 数据包含一个整数n(100 <= n < 1000)输入0表示程序输入结束 如果n是水仙花数就输出Yes否则输出No 标准输入:153 标准输出 : Yes 示例1 : 输入:154 输出:No 示例2 : 输入:0 输出: #include<stdio.h> #include<math.h> int sum_num(const

qq_44423388的博客 8819

C语言编程练习(3)——判断一个数字是否为水仙花数

判断一个数字是否为水仙花数 使用工具:VS2017 功能: 1.输入一个数字。 2.如果这个数字是水仙花数,则提示用户输入的是水仙花数。 3.如果这个数字不是水仙花数,则提示用户输入的不是水仙花数。 目录判断一个数字是否为水仙花数一、代码部分二、运行结果 一、代码部分 函数实现: bool ifNarcissisticNumber(int number) { if (number < 100 || number>999) return false; int a = number /

欢乐的小鹿 1万+

输入一个数,然后判断是否为水仙花,怎么用java实现?

给定任意一个数字,判断是不是水仙花数? package com.example; import java.util.Scanner; public class test03 { public static boolean flowers(int i){ //判断水仙花数的方法 int s=0; int n=(i+"").length(); ...

weixin_44857402的博客 1840

判断一个数是否为水仙花数 Python

num3 = int(input("请输入一个三位数:")) hundreds_place = int(num3 // 100 % 10) ten_place = int(num3 / 10 % 10) one_place = int(num3 % 10) if hundreds_place ** 3 + ten_place ** 3 + one_place ** 3 == num3: print(f"{num3}是水仙花数") else: print(f"{num3}不是水仙花数")

m0_56062592的博客 2737
上一篇: Leetcode - 27. 移除元素
下一篇: 数据结构-(顺序表篇)
Eric_Jackson
博客等级 码龄5年 12粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值