水仙花数

C#找出水仙花数

放肆的年华 提交于 2020-02-27 20:18:47
所谓水仙花数,指的是一个三位整数,其各位数字之立方和等于数字本身 例如:153 = 1 1 1 + 5 5 5 + 3 3 3 本例的核心问题在于对数位的提取,用最基础的数学思想,提取出对应位上的数字,要有严密的数学逻辑 using System ; namespace dome { class Program { static void Main ( string [ ] args ) { Console . WriteLine ( "水仙花数:" ) ; for ( int i = 100 ; i < 1000 ; i ++ ) { int g = i % 10 ; int s = i / 10 % 10 ; int b = i / 100 % 10 ; if ( g * g * g + s * s * s + b * b * b == i ) { Console . WriteLine ( i ) ; } } } } } 来源: CSDN 作者: 黑夜中的潜行者 链接: https://blog.csdn.net/qq_43562262/article/details/104538419

python 求任意范围内水仙花数

北城以北 提交于 2020-02-26 02:10:48
代码: #水仙花数 num=int(input('请输入任意范围,将会得到其范围内的所有水仙花数:')) for i in range(1,num+1): cifang = len(str(i)) #这个数的位数,即为次方数 total = 0 #各位数N次方之和 j = i #因为后面i会用做比较,所以我不更改i的值 last_w = 0 #这个数的最后一位数 while j > 0 and cifang > 2: last_w = j % 10 #对10求余,表示这个数的最后一个数 j = j // 10 #去掉最后一位数 total += last_w ** cifang #计算各位的N次方之和 if total == i: #如果各位数的N次方之后与原数i相等,就打印 print(i) 运行结果: 来源: 51CTO 作者: 625536506 链接: https://blog.51cto.com/10888845/2473286

水仙花数———蓝桥杯

家住魔仙堡 提交于 2020-02-25 22:41:56
水仙花数是指一个33位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153 给你一个三位数aa,请判断该数字aa是否是水仙花数,如果是则输出"YES",否则输出"NO"(输出不包括引号). 输入 输入一行一个三位数a(100 ≤ a ≤ 999), 输出 如果aa是则输出"YES",否则输出"NO" import java.util.Scanner; public class 水仙花 { public static void main(String args[]){ Scanner n=new Scanner(System.in); int m=n.nextInt(); double g=m%10; double s=m%100/10; double b=m/100; if((Math.pow(g,3)+Math.pow(s,3)+Math.pow(b,3))==m){ System.out.print("YES"); } else { System.out.print("NO"); } } } 来源: CSDN 作者: huiruoqi 链接: https://blog.csdn.net/huiruoqi/article/details/104495830

1000以内的水仙花数

元气小坏坏 提交于 2020-02-19 23:32:23
1000以内的水仙花数 public static void main(String[] args) { /** * 1000以内的水仙花数 */ for (int i = 100; i < 1000; i++) { int BaiNum = i / 100;//分解出百位 int ShiNum = i / 10 % 10;//分解出十位 int GeNum = i % 10;//分解出个位 //判断是否为水仙花数,即百位的三次方+十位的三次方+个位的三次方=数字本身 if (BaiNum * BaiNum * BaiNum + ShiNum * ShiNum * ShiNum + GeNum * GeNum * GeNum == i) { //打印输出 System.out.println(i + "为水仙花数"); } } } 来源: CSDN 作者: *小坏。 链接: https://blog.csdn.net/qq_45122010/article/details/104400274

水仙花数

偶尔善良 提交于 2020-02-16 13:36:35
水仙花数 "水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如 153 = 1³ + 5³ + 3³,所以 153 是一个水仙花数。 请用程序实现 输入一个三位数,找出100~num(含)中的所有水仙花数,并将找出的水仙花数从小到大输出,每行输出1个数 # 请使用 input() 输入一个三位数 num num = int ( input ( '请输入一个三位数: ' ) ) # 请找出 100 - num(含) 中的所有水仙花数,并将找出的水仙花数输出 for i in range ( 100 , num + 1 , 1 ) : a = i % 10 b = i % 100 // 10 c = i // 100 n = a * a * a + b * b * b + c * c * c if i == n : print ( i ) 来源: CSDN 作者: Nasinhore 链接: https://blog.csdn.net/qq_43191251/article/details/104338902

思维挑战9:水仙花数

孤者浪人 提交于 2020-02-14 17:53:20
思维挑战9:水仙花数 水仙花数:即三位数的每个位置的立方的和等于这个数。 那么我们如何找出这些水仙花数呢? //C033拼接法 #include <stdio.h> #include <stdlib.h> int main() { int i,j,k; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf("%d\n",i*100+j*10+k); system("pause"); return 0; } //C034 #include <stdio.h> #include <stdlib.h> int main() { int a,b,c,x; for(x=100;x<=999;x++) { a=x/100; b=x/10%10; c=x%10; if(a*a*a+b*b*b+c*c*c==x) printf("%d\n",x); } system("pause"); return 0; } 来源: CSDN 作者: Btbsja 链接: https://blog.csdn.net/Btbsja/article/details/104312192

Golang输出水仙花数

此生再无相见时 提交于 2020-02-13 00:37:43
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153) 判断一个整数是否为水仙花数代码如下: //判断一个整数是不是水仙花数 //水仙花数指一个3位数的各个位数之和等于这个三位数本身 //例如153=1*1*1+5*5*5+3*3*3 func isNarcissusNumber(num int32) bool { var isNarcissusNumber bool = false var num_h int32 = num / 100 //百位 var num_d int32 = (num - num_h*100) / 10 //十位 var num_p int32 = num - num_h*100 - num_d*10 //个位 var num_sum = num_h*num_h*num_h + num_d*num_d*num_d + num_p*num_p*num_p //百位的3次方+十位的3次方+个位的3次方 if num_sum == num {

算法训练 4-3水仙花数

家住魔仙堡 提交于 2020-02-13 00:12:34
def shui ( s ) : s1 = s // 100 s2 = ( s // 10 ) % 10 s3 = s % 10 if s1 ** 3 + s2 ** 3 + s3 ** 3 == s : return 1 else : return 0 for i in range ( 100 , 1000 ) : i = int ( i ) if shui ( i ) : print ( i ) 来源: CSDN 作者: 宇未空 链接: https://blog.csdn.net/weixin_43662112/article/details/104284314

hdu 2010 水仙花数

倾然丶 夕夏残阳落幕 提交于 2020-02-08 01:48:07
水仙花数 题目分析: 水仙花数也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 录入一个数字,分别拆下它的个位,十位,百位,计算三次方求和,观察是否与原数相同。 代码: #include <iostream> using namespace std; int main() { int m, n, count, i, t; while (scanf("%d%d", &m, &n) != EOF) { count = 0; for (i = m; i <= n; i++) { int sum = 0; t = i; while (t) { int t2 = t % 10; sum += t2 * t2 * t2; t /= 10; } if (sum == i) { if (count > 0) printf(" "); printf("%d", i); count++; } } if (count == 0) printf("no"); printf("\n"); } system("pause"); return 0; } 来源:

https://vjudge.net/problem/HDU-2010----水仙花数

瘦欲@ 提交于 2020-01-31 21:32:47
#if 0 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1 3+5 3+3^3。 现在要求输出所有在m和n范围内的水仙花数。 Input 输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。 Output 对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说, 输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。 Sample Input 100 120 300 380 Sample Output no 370 371 #endif // 0 # include <iostream> using namespace std ; int shui [ 100 ] = { 0 } , m = 0 ; void s ( ) { int i = 100 , g , s , b , t ; for ( i = 100 ; i < 999 ; i ++ ) { t = i ; g = t % 10 ; t / = 10 ; s = t % 10 ; t / = 10 ; b = t % 10 ; if ( i ==