习题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次幂之和等于它本身相关推荐

  1. 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13+53+33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3 ...

  2. 浙大版《C语言程序设计(第3版)》题目集习题5-6 使用函数输出水仙花数 (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 ​3 ​​ +

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如: ​​ . 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所 ...

  3. 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 3 +5 3 +3 3 。 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从

    函数接口定义: int narcissistic( int number ); void PrintN( int m, int n ); 函数narcissistic判断number是否为水仙花数,是 ...

  4. 水仙花数是指一个三位数,它的每个位上的数字的 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(& ...

  5. 水仙花数是指一个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 ...

  6. 输出所有的水仙花数,水仙花数是指一个三位数,它的每位上的数字的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 ...

  7. 问题三十一: 输入一个三位数n,判断输出n是否为水仙花数。 若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33)。

    /* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * All rights reserved. * 文件名称: txt.c * 作 者: ...

  8. 计算天数-本题要求编写程序计算某年某月某日是该年中的第几天

    本题要求编写程序计算某年某月某日是该年中的第几天. 输入格式: 输入在一行中按照格式"yyyy/mm/dd"(即"年/月/日")给出日期.注意:闰年的判别条件是 ...

  9. 本题要求编写程序计算某年某月某日是该年中的第几天。

    本题要求编写程序计算某年某月某日是该年中的第几天. 输入格式: 输入在一行中按照格式"yyyy/mm/dd"(即"年/月/日")给出日期.注意:闰年的判别条件是 ...

最新文章

  1. datagrid的正反双向排序
  2. php自动轮播图代码,JavaScript如何实现动态轮播图效果?(代码示例)
  3. 爬虫篇——User-Agent爬取备用及存储
  4. 【AutoML】进化算法如何用于自动模型搜索(NAS)
  5. hana::detail::variadic::foldr1用法的测试程序
  6. BDFeatureMatch_yalmip_vlfeat
  7. CKEditor配合CKFinder的使用
  8. 每天走6000步,血糖真的可以恢复正常吗?
  9. ISO50001认证辅导,ISO50001验厂优化所有流程中的能源性能,促进更高效的能源管理
  10. SAP FB60\FB70\MIRO 默认税码配置
  11. cad小插件文字刷_CAD实用小插件,这是一串让你效率提升相见恨晚的代码!
  12. silvaco超晶格仿真学习笔记
  13. 动态获取图片色值,黑点坐标
  14. vue 数组中的元素 渲染到一行
  15. 万圣节日丧尸变异头像生成流量主小程序开发
  16. [转]如何修炼成某一领域的高手?
  17. 安卓期末大作业——Android水果连连看
  18. ios开发者证书申请
  19. 洛谷P4084 [USACO17DEC]Barn Painting G 题解
  20. 3D语音天气球(源码分享)——完结篇

热门文章

  1. Jquery 效果集结号
  2. python crash coures python编程从入门到实践 笔记1 python常见函数
  3. 不得不看的经典软件测试面试问题
  4. 360公司2016校园招聘笔试题大题一
  5. VMware vSphere 虚拟化实施手册及故障案例 | 多图
  6. ORACLE表唯一自增字段
  7. 我的世界它最懂 华为nova7系列打造5G自拍旗舰
  8. velocity页面js引入#foreach遍历list
  9. mysql盲注脱裤_BT5下使用SQLMAP入侵加脱裤 -电脑资料
  10. 学习黑客必须要掌握的DOS命令全集