水仙花数

水仙花数

和自甴很熟 提交于 2020-04-08 07:02:34
题目描述 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1 3+5 3+3^3。 现在要求输出所有在m和n范围内的水仙花数。 输入描述: 输入数据有多组,每组占一行,包括两个整数m和n(100 ≤ m ≤ n ≤ 999)。 输出描述: 对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。 示例1 输入 100 120 300 380 输出 no 370 371 # import sys # # sys.stdin = open('input.txt','r') num = [] for i in range(100,1000): if i==int(str(i)[0])**3 + int(str(i)[1])**3 + int(str(i)[2])**3: num.append(i) while True: try: flag = False out = [] test = list(map(int,input().split())) for i in num: if test

java面试每日一题8

旧城冷巷雨未停 提交于 2020-04-03 07:17:16
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 import java.util.Scanner; public class Shuixianhua { public static void main(String[] args){ // System.out.println("请输入一个三位数:"); // Scanner sc=new Scanner(System.in); // int num=sc.nextInt(); for(int i=100;i<=999;i++){ boolean flag=false; int a=i/100; int b=i%100/10; int c=i%100%10; double result=Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3); if(i==result){ flag=true; }else{ flag=false; } if(flag==true){ System.out.println(i+"是水仙花数"); } } } } 来源: https://www.cnblogs

4.2上机

三世轮回 提交于 2020-04-02 13:56:45
1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句) package a; import java.util.*; public class aa { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("以下出现的数字均为水仙花数"); int i, a, b, c; for (i = 100; i < 1000; i++) { a = i / 100%10; b = i / 10 % 10; c = i % 10; if (a * a * a + b * b * b + c * c * c == i) { System.out.println(i); } } } } 2.在控制台输出以下图形(知识点:循环语句、条件语句) 第一个: package a; import java.util.*; public class aa { public static void main(String[] args) { // TODO Auto-generated method stub; int i,

实例013:所有水仙花数

为君一笑 提交于 2020-03-30 16:21:04
100个不同类型的python语言趣味编程题 实例013:所有水仙花数 题目 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 程序分析 利用for循环控制100-999个数,每个数分解出个位,十位,百位。 for i in range(100,1000): s=str(i) one=int(s[-1]) ten=int(s[-2]) hun=int(s[-3]) if i == one**3+ten**3+hun**3: print(i) #解本问题有多种方法,此方法并不是标准答案,读者可以自己尝试各种方法。 如果你喜欢我的文章,请滑到下方点个推荐再走. 以给我动力哦;转载请注名出处。然后..请多来做客鸭。 来源: https://www.cnblogs.com/wby-110/p/12598904.html

水仙花数

纵然是瞬间 提交于 2020-03-30 11:55:09
打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方; 分析:利用循环找出三位数中的所有水仙花数,利用数字算法将三位数拆除百位十位个位 Eg:一个三位数为x,则百位数字为x/100;十位数字为x/10%10;个位数字为x%10 package com.math.forth; /** * 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方; *分析:利用循环找出三位数中的所有水仙花数,利用数字算法将三位数拆除百位十位个位 *Eg:一个三位数为x,则百位数字为x/100;十位数字为x/10%10;个位数字为x%10 * @author wql * */ public class Math03 { public static void main(String[] args) { method(); } public static void method(){ for(int x=100;x<=999;x++){ int a=x/100; //百位数字 int b=x/10%10; //十位数字 int c=x%10; //个位数字 int d=a*a*a+b*b*b+c

java:4-3水仙花数

♀尐吖头ヾ 提交于 2020-03-12 07:12:57
java:4-3水仙花数 题目 问题描述   打印所有 100 至 999 之间的水仙花数。所谓水仙花数是指满足其各位数字立方和为该数字本身的整数,例如 153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3 。 样例输入 一个满足题目要求的输入范例。 例: 无 样例输出 153 xxx xxx public class 水仙花数 { public static void main ( String [ ] args ) { // TODO Auto-generated method stub for ( int i = 100 ; i < 1000 ; i ++ ) { int a = i / 100 ; //百位数 int b = i / 10 % 10 ; //十位数 int c = i % 10 ; //个位数 if ( i == a * a * a + b * b * b + c * c * c ) System . out . println ( i ) ; } } } 来源: CSDN 作者: weixin_44522477 链接: https://blog.csdn.net/weixin_44522477/article/details/104802618

水仙花数

送分小仙女□ 提交于 2020-03-10 10:05:09
水仙花数 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 0 描述 请判断一个数是不是水仙花数。 其中水仙花数定义各个位数立方和等于它本身的三位数。 输入 有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000) 输入0表示程序输入结束。 输出 如果n是水仙花数就输出Yes 否则输出No 样例输入 153 154 0 样例输出 Yes No #include<iostream> #include<cstdio> #include<cstring> using namespace std; int main(int argc, char* argv[]) { int n,a,b,c; cin>>n; while(n!=0) { a=n/100; b=(n-100*a)/10; c=n-100*a-10*b; if(n==a*a*a+b*b*b+c*c*c) cout<<"Yes"<<endl; else cout<<"No"<<endl; cin>>n; } return 0; } 来源: https://www.cnblogs.com/52Cyan/p/3676543.html

python:水仙花数

落爺英雄遲暮 提交于 2020-03-05 15:06:14
水仙花数python编写 水仙花数是各类编程语言学习的必经之路,对水仙花数的编写也变得极为重要。 水仙花数的定义: 水仙花数:是一个三位数,各个位数上的立方和等于其本身。 拿最小的水仙花数153来说:就是 1^3+5^3+3^3 = 153 难点分析如何才能够把各个数单独拿出来? 设数为 i 百位上的数: 百位上的数可以采用整除的形式来完成那百位就等于 i//100 # 此处必须使用 ‘//’ 不能够只用**‘/’**在python中有除和整除的区分。 把百位的数除掉后剩下来的数作为一个新的整体假设为Numerical 而Numerical = 1%100 十位的值就等于Numerica//10 个位的值就等于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 /

lintcode算法题之147-水仙花数

廉价感情. 提交于 2020-02-29 03:48:01
47. 水仙花数 水仙花数的定义是,这个数等于他每一位数上的幂次之和 见维基百科的定义 比如一个3位的十进制整数 153 就是一个水仙花数。因为 153 = 13 + 53 + 33。 而一个4位的十进制数 1634 也是一个水仙花数,因为 1634 = 14 + 64 + 34 + 44。 给出 n ,找到所有的n位十进制水仙花数。 样例 样例 1: 输入: 1 输出: [0,1,2,3,4,5,6,7,8,9] 样例 2: 输入: 2 输出: [] 样例解释: 没有2位数的水仙花数。 代码区: public class Solution { /** * username:softstarhhy * @param n: The number of digits * @return: All narcissistic numbers with n digits */ public List<Integer> getNarcissisticNumbers(int n) { // write your code here List list=new ArrayList<Integer>(); int start = (int)Math.pow(10, n-1); int end = (int)Math.pow(10, n); /* for(int s=0;s<n;s++) { n=

030 Java小练习03

爷,独闯天下 提交于 2020-02-28 22:06:10
1、编程题 (1)、打印出100~1000范围内的所有 “水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,153= 1^3 + 5^3 + 3^3。 (2)、将两个整数的内容进行互换。 (3)、判断某个数能否被3,5,7同时整除。 (4)、用while循环、do…while循环和for循环求出100~200累加的和。 来源: CSDN 作者: 最美不过伊人笑 链接: https://blog.csdn.net/leidl/article/details/104265325