水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身
习题5-6 使用函数输出水仙花数
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13 + 53 + 33 。
本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。
函数接口定义:
int narcissistic( int number );
void PrintN( int m, int n );
函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。
函数PrintN则打印开区间(m, n)内所有的水仙花数,每个数字占一行。题目保证100≤m≤n≤10000。
裁判测试程序样例:
#include <stdio.h>int narcissistic( int number );
void PrintN( int m, int n );int main()
{int m, n;scanf("%d %d", &m, &n);if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);PrintN(m, n);if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);return 0;
}/* 你的代码将被嵌在这里 */
输入样例:
153 400
输出样例:
153 is a narcissistic number
370
371
int narcissistic( int number )
{int cnt = 0, sum = 0, i,j,x;int a = number;while (a) {a /= 10;cnt ++;} // cnt 记录水仙花数的幂。a = number;for (i = 0; i < cnt; i ++) {x = a % 10; // 分解number 的每一位int pow = 1;for (j = 0;j < cnt; j ++){pow *= x;}sum += pow;a /= 10;}if (sum == number)return 1;else return 0;
}void PrintN( int m,int n )
{while(m <= n){ m++;if(narcissistic(m)){printf("%d\n",m);}}
}
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身相关推荐
- 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13+53+33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3 ...
- 浙大版《C语言程序设计(第3版)》题目集习题5-6 使用函数输出水仙花数 (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 3 +
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如: . 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所 ...
- 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 3 +5 3 +3 3 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从
函数接口定义: int narcissistic( int number ); void PrintN( int m, int n ); 函数narcissistic判断number是否为水仙花数,是 ...
- 水仙花数是指一个三位数,它的每个位上的数字的 3次幂之和等于它本身,请编程找出所有水仙花数。(例如:153 = 1^3 + 5^3 + 3^3 )
#水仙花数 for i in range(100,1000):ge =i%10shi=i//10 %10bai=i//100if i==ge**3 +shi ** 3+bai**bai:print(& ...
- 水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:1^3+5^3+3^3=153
#错误做法,坐等大佬解答 sum = 0 n = int(input('请输入位数:')) for i in range(10**(n-2),10**(n-1)):k = str(i)for j in ...
- 输出所有的水仙花数,水仙花数是指一个三位数,它的每位上的数字的3次幂之和等于它本身。例如:1*1*1+5*5*5+3*3*3=153
#include <stdio.h> int main() { int p,q,r,i; printf("水仙花数有:\n"); for(i=100;i<=999 ...
- 问题三十一: 输入一个三位数n,判断输出n是否为水仙花数。 若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33)。
/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * All rights reserved. * 文件名称: txt.c * 作 者: ...
- 计算天数-本题要求编写程序计算某年某月某日是该年中的第几天
本题要求编写程序计算某年某月某日是该年中的第几天. 输入格式: 输入在一行中按照格式"yyyy/mm/dd"(即"年/月/日")给出日期.注意:闰年的判别条件是 ...
- 本题要求编写程序计算某年某月某日是该年中的第几天。
本题要求编写程序计算某年某月某日是该年中的第几天. 输入格式: 输入在一行中按照格式"yyyy/mm/dd"(即"年/月/日")给出日期.注意:闰年的判别条件是 ...
最新文章
- datagrid的正反双向排序
- php自动轮播图代码,JavaScript如何实现动态轮播图效果?(代码示例)
- 爬虫篇——User-Agent爬取备用及存储
- 【AutoML】进化算法如何用于自动模型搜索(NAS)
- hana::detail::variadic::foldr1用法的测试程序
- BDFeatureMatch_yalmip_vlfeat
- CKEditor配合CKFinder的使用
- 每天走6000步,血糖真的可以恢复正常吗?
- ISO50001认证辅导,ISO50001验厂优化所有流程中的能源性能,促进更高效的能源管理
- SAP FB60\FB70\MIRO 默认税码配置
- cad小插件文字刷_CAD实用小插件,这是一串让你效率提升相见恨晚的代码!
- silvaco超晶格仿真学习笔记
- 动态获取图片色值,黑点坐标
- vue 数组中的元素 渲染到一行
- 万圣节日丧尸变异头像生成流量主小程序开发
- [转]如何修炼成某一领域的高手?
- 安卓期末大作业——Android水果连连看
- ios开发者证书申请
- 洛谷P4084 [USACO17DEC]Barn Painting G 题解
- 3D语音天气球(源码分享)——完结篇