水仙花数

python判断水仙花数,打印水仙花数

痞子三分冷 提交于 2019-12-12 00:40:52
题目:水仙花数 #水仙花数是指一个n位数,N>=3,它的每个位上的数的N次幂之和等于它本身 #例子:1 3+5 3+3^3=153 #求100-999范围内的,水仙花数 python 代码获取100-999范围内的,水仙花数 for num in range ( 100 , 1000 ) : S_digit = num % 10 #Single digit H_digit = int ( num / 100 ) #Hundreds digit Ten_digit = int ( ( num - H_digit * 100 ) / 10 ) #Ten digit sum = S_digit ** 3 + Ten_digit ** 3 + H_digit ** 3 if sum == num : print ( "%d是水仙花数" % num ) 求所有位的水仙花数 while True : try : x = int ( input ( '请输入最大取值范围(整数):' ) ) break except : print ( "输入不对,重新输入" ) for i in range ( 99 , x + 1 ) : p = str ( i ) sum = 0 for a in p : sum += int ( a ) ** len ( p ) if sum == i : print (

水仙花数

耗尽温柔 提交于 2019-12-04 15:46:50
一、什么是水仙花数 水仙花数也称为超完全数字不变数、自幂数、阿姆斯壮数、阿姆是特朗数。 水仙花数是指一个三位数,每个位数上数字的3次幂之和等于数字它本身。 水仙花数是自幂数的一种,三位的三次自幂数才叫做水仙花数;三位的水仙花数总够有4个:153,370,371,470 js写出水仙花数思路分析: 1、使用for循环查找遍历 从100到 999的所有三位数; 2、判断遍历的数字是否是各个位数的数字的3次幂数之和是否等于数字本身,如果是即为水仙花数,则在控制台输出(如何选取各个位数) (1) 选取个位数 模以10,得到余数即为个位数 (2) 选取十位数 i除以10,再对结果进行取整,取整后得到一个两位数的整数。用这个结果对10取模,得到十位数 (3) 选取百位数 三位数除以100,再取整,就得到了百位数。 一位自幂数:独身数 两位自幂数:没有 三位自幂数:水仙花数 四位自幂数:四叶玫瑰数 五位自幂数:五角星数 六位自幂数:六合数 七位自幂数:北斗七星数 八位自幂数:八仙数 九位自幂数:九九重阳数 十位自幂数:十全十美数 四叶玫瑰数剩下的我们以此类推就好! <script type="text/javascript"> console.time("开始时间") for(var i = 1000;i<=9999;i++){ var gw = i%10; var sw = parseInt

自幂数

那年仲夏 提交于 2019-12-04 12:20:28
㈠什么是自幂数? 自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数) ㈡自幂数包括? 自幂数包括:独身数、水仙花数、四叶玫瑰数、五角星数、六合数、北斗七星数、八仙数、九九重阳数、十全十美数。 ㈢各个数的取值? n为 1 时,自幂数称为 独身数 。显然,0,1,2,3,4,5,6,7,8,9都是自幂数。 n为 2 时,没有自幂数。 n为 3 时,自幂数称为 水仙花数 ,有4个:153,370,371,407; n为 4 时,自幂数称为 四叶玫瑰数 ,共有3个:1634,8208,9474; n为 5 时,自幂数称为 五角星数 ,共有3个:54748,92727,93084; n为 6 时,自幂数称为 六合数 , 只有1个:548834; n为 7 时,自幂数称为 北斗七星数 , 共有4个:1741725,4210818,9800817,9926315; n为 8 时,自幂数称为 八仙数 , 共有3个:24678050,24678051,88593477; n为 9 时,自幂数称为 九九重阳数 ,共有4个:146511208,472335975,534494836,912985153; n为 10 时,自幂数称为 十全十美数 ,只有1个:4679307774。 总共有

python基础----求水仙花数

帅比萌擦擦* 提交于 2019-12-04 03:25:22
水仙花数,即一个三位数,各个位上的数字的三次方相加,等于该数本身。 如:153 = 1**3 + 5 ** 3 + 3 ** 3 1 def is_narc_num(n): 2 # if n <100 or n > 999: 3 # return False 4 # n = str(n) 5 # if int(n[0])**3 + int(n[1])**3 + int(n[2]) ** 3 == int(n): 6 # return True 7 # else: 8 # return False 9 """ 10 判断任意一个数字,是否水仙花数(不管是几位数) 11 :param n: 12 :return: 13 """ 14 n = str(n) 15 length = len(n) 16 sum = 0 17 for i in range(length): 18 sum += int(n[i])**3 19 if sum == int(n): 20 return True 21 return False 22 23 def list_narc_num(start,end): 24 list_narc = [] 25 for i in range(start,end+1): 26 if is_narc_num(i): 27 list_narc.append(i) 28

第三周

匿名 (未验证) 提交于 2019-12-03 00:05:01
实验报告 1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其中各位数字立方和等于该数本身,例如,153是一个“水仙花数”。 2.编写Java程序,求13-23+33-43+......+973-983+993-1003的值。 3.编程求1!+2!......+20!. 4.计算8+88+888......+.....前十项之和。 5.一个数如果恰好等于它的因子之和,这个数就称为完数。输出1000以内的所有完数。 6.输出1+2+3......+n<8888的最大正整数。 7.使for循环打印心形。 来源:博客园 作者: 有点无奈 链接:https://www.cnblogs.com/zh2250881784/p/11520937.html

牛客网 - 水仙花数

匿名 (未验证) 提交于 2019-12-02 22:56:40
题目链接: 点击打开链接 题目大意: 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。 解题思路: ((i%10)*(i%10)*(i%10))+((i/10%10)*(i/10%10)*(i/10%10))+((i/100)*(i/100)*(i/100)) -- 个十百位表示 AC代码 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); //System.out.println("请输入三位数:"); while (in.hasNext()) { int m,n; m=in.nextInt(); n=in.nextInt(); int flag=0,flag2=1; for(int i=m;i<=n;i++){ if(((i%10)*(i%10)*(i%10))+((i/10%10)*(i/10%10)*(i/10%10))+((i/100)*(i/100)*(i/100))==i ){ flag=1; if

用js写水仙花数

匿名 (未验证) 提交于 2019-12-02 21:53:52
...js //输入一个三位数,水仙花数就是个位的三次方+十为的三次方+百位的三次方之和等于本身 console.log('请输入一个三位数:'); let a = readline.question(); if (a > 100 && a <= 999) { if (parseInt(a / 100) ** 3 + parseInt(a % 100 / 10) ** 3 + parseInt(a % 10) ** 3 == a) { console.log(parseInt(a)); console.log('是水仙花数:'); } else { console.log('不是水仙花数:'); } }else{ console.log('非法数字'); } .... 转载请标明出处: 用js写水仙花数 文章来源: 用js写水仙花数

求水仙花数(C语言/Java)

匿名 (未验证) 提交于 2019-12-02 21:52:03
求出0~999999之间的所有“水仙花数”并输出。 “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身, 如:153=1 ^ 3+5 ^ 3+3 ^ 3 ? ,则153是一个“水仙花数”。 C语言程序: int main() { int i = 0; for (i = 0; i < 1000000; i++) { int count = 1; int tmp = i;//11 int sum = 0; //计算几位数 while (tmp / 10)//10 11 { count++;//2 tmp /= 10;//1 } //计算每位数的次方和 tmp = i;//10 while (tmp) { sum +=pow(tmp % 10, count);//pow(a,b)函数计算a的b次方的值,头文件 math.h tmp = tmp / 10; } //比较 if (i == sum) printf("%d ", i); } system("pause"); return 0; } Java程序: public class Text { public static void main(String[] args) { int i = 0; for (i = 0; i <= 999; i++) { int temp = i; //double sum = 0; /

第3周Java编程总结

匿名 (未验证) 提交于 2019-12-02 21:52:03
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。 2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。 3. 编程求1!+2!+3!+…+20!。 4. 编写Java程序,计算8+88+888+…前10项之和。 5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。 6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数 7. 使用for循环打印下面的图(等腰三角形) 来源:博客园 作者: 百花丶 链接:https://www.cnblogs.com/lll0719/p/11520950.html

C语言I博客作业05

牧云@^-^@ 提交于 2019-12-02 12:32:21
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://i.cnblogs.com/EditPosts.aspx?opt=1 我在这个课程的目标是 学会完美地运用定义函数 这个作业在那个具体方面帮助我实现目标 学习新的运算符,函数编译和while语句 参考文献 《C语言程序设计》 1.PTA实验作业(20分/题) 6-3 水仙花数判断 (10 分) 本题要求实现一个函数,判断任一整数是否为水仙花数(必须是三位数,且数的每一位上数字的立方和与数本身相等)。例如153=1^3+5^3+3^3=1+125+27=153,而1或155则不是水仙花数。如果是水仙花数,则函数返回1,否则返回0. 函数接口定义:int func(const int N); 其中N是用户传入的参数。N的值不超过int类型的范围。如果参数N是水仙花数,则返回1,否则返回0。 1.1.1数据处理 答: 来源: https://www.cnblogs.com/liuyulong/p/11743077.html