python:水仙花数 里面没有水仙

简介: 水仙花数是各类编程语言学习的必经之路,对水仙花数的编写也变得极为重要。

水仙花数python编写



水仙花数是各类编程语言学习的必经之路,对水仙花数的编写也变得极为重要。

水仙花数的定义:


水仙花数:是一个三位数,各个位数上的立方和等于其本身。
拿最小的水仙花数153来说:就是  1^3+5^3+3^3 = 153


难点分析如何才能够把各个数单独拿出来?


设数为 i


  1. 百位上的数:
    百位上的数可以采用整除的形式来完成那百位就等于 i//100
    # 此处必须使用 ‘//’ 不能够只用**‘/’**在python中有除和整除的区分。
  2. 把百位的数除掉后剩下来的数作为一个新的整体假设为Numerical
    而Numerical = 1%100
  3. 十位的值就等于Numerica//10
  4. 个位的值就等于Numerical%10


现在把这个三位数拆开来了剩下来的就极为简单了:


下面是代码:


#Narcissistic number(水仙花数)
print("所有三位数中的水仙花数如下所示:")
SingleDigit = TenDigits = Hundred = Surplus  = sum = 0
for i in range(100,1000):  #用range函数循环100到999【注1】
      Hundred = i // 100   #计算百位
      Surplus = i % 100    #上文解释里面的Numerical 
      TenDigits = Surplus // 10  #计算十位
      SingleDigit = Surplus % 10   #计算个位
      if i == (( Hundred ** 3 ) + ( TenDigits ** 3 ) +( SingleDigit ** 3 )):
            sum += 1
            print(i)  #输出水仙花数
print("水仙花数共有%s个"%sum)    #输出水仙花数的个数
#运行结果
所有三位数中的水仙花数如下所示:
153
370
371
407
水仙花数共有4个


下面的是C语言的代码,大家可以用于比较:


#include<stdio.h>
mian()
{
  int a,b,c,d,e;
    for(a=100;a<1000;a++)
    { 
      b=a/100;
      c=a%100;
      d=c/10;
      e=c%10;
      if(a=c*c*c+d*d*d+e*e*e)
          printf("水仙花数有:%5d\n",a);
        }
}
#结果
水仙花数有  153  370  371  407


【注1】:可以查看下面文章中range()

python基础函数及代码(一)

新手上路,希望大家提出自己的宝贵意见。谢谢大家!

目录
相关文章
|
7月前
|
Java 程序员 C++
Python找出水仙花数
Python找出水仙花数
87 0
|
6月前
|
Python
【Python 训练营】N_7 打印水仙花数
【Python 训练营】N_7 打印水仙花数
31 1
|
7月前
|
Python
用python画一个水仙花
用python画一个水仙花
265 2
|
7月前
|
Python
python水仙花数实现
python水仙花数实现
111 0
|
算法 程序员 C++
【Python 百炼成钢】进制转换、特殊回文数、水仙花数、杨辉三角、字母图形、01字符串、回形取数、排他方数、世纪末的星期日、约瑟夫环
【Python 百炼成钢】进制转换、特殊回文数、水仙花数、杨辉三角、字母图形、01字符串、回形取数、排他方数、世纪末的星期日、约瑟夫环
【Python 百炼成钢】进制转换、特殊回文数、水仙花数、杨辉三角、字母图形、01字符串、回形取数、排他方数、世纪末的星期日、约瑟夫环
|
Python
python基础作业:利用循环和end参数分别实现打印九九乘法表、三角形图形、寻找水仙花数、寻找完美数
python基础作业:利用循环和end参数分别实现打印九九乘法表、三角形图形、寻找水仙花数、寻找完美数
260 0
python基础作业:利用循环和end参数分别实现打印九九乘法表、三角形图形、寻找水仙花数、寻找完美数
|
Python
Python经典编程习题100例:第13例:水仙花数
Python经典编程习题100例:第13例:水仙花数
89 0
python:考试前,练手习题(斐波那契数,字符串排序,九九乘法表,水仙花数,求和...求数字倍数,(保佑不挂科!)
整理一些练手的题目(含代码),可能不是特别优美,有些繁琐,但是等有时间再优化吧~~ 1.水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 请编写程序,在一行内,按从小到大的顺序输出所有水仙花数,以空格作为分割
|
算法 Python
Python每日一练——第1天:水仙花数
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
653 0
Python每日一练——第1天:水仙花数
|
C++ Python
ZZULIOJ-1096,水仙花数(函数专题)(Python)
ZZULIOJ-1096,水仙花数(函数专题)(Python)