用Python编写水仙花数

def sxh(start, end):
    if end >= start and start >=100 and end<= 999:
        num=start #将num的值初始化
        L =[]
        while num<=end:
            x=num%10      #num取个位数
            y=num//10%10  #num取十位数
            z=num//100    #num取百位数
            if (num==pow(x,3)+pow(y,3)+pow(z,3)):
                L.append(num) #将num放在一个列表里
            num=num+1
        return L   #返回列表
print(sxh(100,999))

原文地址:https://www.cnblogs.com/lengjf/p/9819694.html

时间: 2024-10-10 21:21:17

用Python编写水仙花数的相关文章

Python实现水仙花数

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)<摘自百度百科>. 下面给出三位数水仙花Python代码实现:: # 循环遍历出所有三位数 for tmp in range(100, 1

python练习——水仙花数

题目: 请判断一个数是不是水仙花数.其中水仙花数定义各个位数立方和等于它本身的三位数.输入有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)输入0表示程序输入结束.输出如果n是水仙花数就输出Yes否则输出No样例输入1531540样例输出YesNo 1 class Shui: 2 3 def __init__(self,str): 4 self.str=str 5 6 def carculate(self): 7 n=len(self.str) 8 sum = 0 9 fo

python 取水仙花数的问题

什么是水仙花数 "水仙花数" 代码 for x in range(100, 1000): # 取个位数 a = x % 10 # 取十位数 b = int(x % 100 / 10) # 取百位数 c = int(x / 100) if a**3 + b**3 + c**3 == x: print(x) 一个小小的测试,重点在怎么取到各位的数字,我竟然想了很久,参考了多个博客-- 为自己的智商感到捉急-- 另外可以参考以下博客的答案: https://blog.csdn.net/xie

用c#语言编写水仙花数

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace ConsoleApplication1  {          class Program           {                  static void Main(string[] args)                   { 

【python】编写一个程序,求100~999之间的所有水仙花数

编写一个程序,求100~999之间的所有水仙花数. 如果一个三位数等于其各位数字的立方和,则称这个数为水仙花数. 例如:153=1^3+5^3+3^3 因此153就是一个水仙花数 代码如下 #水仙花数 for i in range(100, 1000): sum = 0 temp = i while temp: sum = sum + (temp%10)**3 temp //=10 if sum == i: print(i) 原文地址:https://www.cnblogs.com/SiminL

编写一个程序找出100~999之间所有的水仙花数

如果一个3位数等于其各位的立方和,称该数为水仙花数. 如,所以407是一个水仙花数,编写一个程序找出100~999之间所有的水仙花数. 1 #include<stdio.h> 2 #include<stdlib.h> 3 //判断水仙花数,是则返回1 4 int isNarcissus(int n); 5 6 int main() 7 { 8 int i; 9 for(i = 100; i < 1000; i++) 10 if(isNarcissus(i)) 11 print

Python练习题 009:水仙花数

[Python练习题 009] 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方. ---------------------------------------------------------------------- 这题也是送分题,只要能把任意三位数的百位.十位.个位拆解出来就好办了.思路:将任意3位数除以100再向下取整,即可得到百位数.将这个3位数减去(百位数*10

Python基础练习-003-求100-999之间所有的水仙花数

水仙花数是指一个n位的正整数(n>=3),它的每个数字的n次幂之和等于它本身.例如:153=1*1*1+5*5*5+3*3*3,153为三位数,它的每个数字的三次方之和等于153.用python语言实现求出100~999之间的所有水仙花数. 分析过程:将正整数n的个位十位百位分别取出,再求幂之和:个位百位比较好拆分,十位的话可以先减去百位再用除法计算. 1 # -*- coding:utf-8 -*- 2 # @Author : 飘飘_emmm 3 print("100-999之间的水仙花

用python语言来判断一个数是否是水仙花数?

#用python语言来判断一个数是否是水仙花数? #水仙花数: # 1) 一个三位正整数 ( 即取值区间 [100,1000) ) # 2) 个位数字的立方+十位数字的立方+百位数字的立方=它本身  (即数字 abc = a**3 + b**3 + c**3) 代码: for a in range(1,10):    #定义百位数取值区间 (1,9)     for b in range(10):    #定义十位数取值区间 (0,9)         for c in range(10):