首先,我们得了解什么是水仙花。阿姆斯特朗数 也就是俗称的 水仙花数 ,是指一个三位数,其各位数字的立方和等于该数本身。例如:370=3*3*3+7*7*7+0*0*0,所以370 就是一个 水仙花数 。求出所有的 水仙花数 。思路:首先我们需要获取各个位上的数。 然后判断是否符合水仙花的定义。 最后,输出结果。 代码如下:#includeintmain(){ inti,j,k,data; for(data=1;data结果:153370371407总结:如何利用求余才能获得各个位上的数, 以及利用for循环,不断查找合适的数。
问题分析 “水仙花数”是指一个三位数,其每位数字的立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 基于此,利用for循环控制100-999个数,每个数分解出个位,十位,百位,再分别求立方相加并判断即可。代码实现//导入头文件#include#include//主函数intmain(){ inti,j,k,n,sumi,sumj,sumk;//定义7个整型数据 printf("\n100-1000包含的“水仙花”数分别有:\n\n"); for(n=100;n运行结果
水仙花数又称阿姆斯特朗数,严格意义上讲,若3位正整数中各位数字立方和等于该数本身,则该正整数为水仙花数。#includeintmain(){ intx,y,z,m; printf("水仙花数:\n"); for(m=100;m运行结果:
函数接口定义 1、intnarcissistic(intnumber);2、voidPrintN(intm,intn);函数 narcissistic 判断 number 是否为水仙花数,是则返回1,否则返回0。函数 PrintN 则打印开区间 (m, n) 内所有的水仙花数,每个数字占一行。 题目保证100≤m≤n≤10000。 裁判测试程序样例:#includeintnarcissistic(intnumber);voidPrintN(intm,intn);intmain(){intm,n;scanf("%d%d",&m,&n);if(narcissistic(m))printf("