python 打印所有的水仙花数

目标分析:

#水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。

例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

利用for循环控制100-999个数,每个数分解出个位,十位,百位。

一、参考解法:

1 for a in range(1,10):
2     for b in range(0,10):
3         for c in range(0,10):
4             s1= a*100+b*10+c
5             s2= pow(a,3)+pow(b,3)+pow(c,3)
6             if s1==s2:
7                 print(‘水仙花:%4d‘%s1)

二、参考解法:

1 for i in range(100,1000):
2     s = str(i)
3     if int(s[0])**3+int(s[1])**3+int(s[2])**3==i:
4         print(‘水仙花:‘,i)

三、参考解法:

1 for n in range(100,1000):
2     m = n
3     sumValue = 0
4     while(m>0):
5         (m,r) = divmod(m, 10)
6         sumValue += r ** 3
7     if n == sumValue:
8         print(‘水仙花:‘,n)

最后一个没看懂

原文地址:https://www.cnblogs.com/theoup/p/9775685.html

时间: 2024-11-14 13:24:23

python 打印所有的水仙花数的相关文章

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

题目描述 打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身. 例如:153是一个水仙花数,因为153=1^3+5^3+3^3. Output: 153 ??? ??? ??? 输入 无 输出 所有的水仙花数,从小的开始. 每行一个 样例输入 无 样例输出 无 程序:#include<stdio.h>int main(){    int i,a,b,c;    for(i=100;i<1000;i++)    {  

Python练习题 009:水仙花数

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

打印所有的水仙花数

1 package com.demo; 2 3 /* 4 * 题目:输出所有的水仙花数 5 * 6 * 所谓水仙花数是指一个3位数,其各个位上数字的立方和等于其本身. 7 * 例如: 153 = 1 * 1 * 1 + 3 * 3 * 3 + 5 * 5 * 5 8 * 9 */ 10 11 public class NarcissisticNumber { 12 public static void main(String[] args) { 13 14 for (int i = 100; i

打印所有的水仙花数,所谓水仙花数是指一个三位数,其每一位的立方和等于它身;例如:153=1的立方+5的立方+3的立方

初学前端,今天老师布置的作业之中就有这道题,这是我自已的理解,可能思路不是很清晰,没有体现出有穷性:但大致是这样,实现的方式有很多种,不一定非要用这种: 代码如下:

打印三位数水仙花数

public class TestShui{ public static void main(String[] args){ for(int i=100;i<1000;i++){ if(i==(i/100)*(i/100)*(i/100)+(i%100/10)*(i%100/10)*(i%100/10)+(i%10)*(i%10)*(i%10)){ System.out.println(i); } } }} 原文地址:https://www.cnblogs.com/sumboy/p/905805

js算法集合(一) 水仙花数 及拓展(自幂数的判断)

js算法集合(一) ★ 最近有些朋友跟我说对js中的一些算法感到很迷惑,知道这个算法到底是怎么回事,但是就是不会用代码把它写出来,这里我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,希望能对大家有所帮助. 1.验证一个数是否为水仙花数 ①要写水仙花数的算法,我们首先来了解一下什么是水仙花数,水仙花数是指一个 3位正整数 ,它的每个位上的数字的 3次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153): ②了解了什么是水仙花数我们就开始分析该怎么下手.通过定义来看

c语言——水仙花数问题

2017-04-1518:32:37 问题描述:打印所有的"水仙花数" .所谓"水仙花数"是指一个三位数,其各位数字的立方和等于该数本身. 例如:153是"水仙花数".因为153=13+33+53. 2.[算法思想] 首先,确定水仙花数n可能存在的范围,因为n是一个三位数,所以范围确定为 n 从 100 变化到 999. 其次,分离出 n 的百位 i.十位 j.个位 k 后,只要判断 n 是否等于i*i*i+j*j*j+k*k*k 即可知道 n

水仙花数讲解

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 代码及讲解如下: def cal_data(m,n): sum = 0 :定义一个变量来接受和 tmp = [] :将打印出的水仙花数放到一个列表中 for i in range(m, n): :区域,一个范围数值进行循环.如,100:10000 for j in rang

打印出三位数的水仙花数Python

水仙花数计算 ???????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????? 1.题目描述 “3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身.例如:ABC是一