【中学】寻找阿姆斯特朗数
【中学】寻找阿姆斯特朗数
请编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的n次方之和。
输入:
正整数的位数n(n<=6)。
输出:
所有此n位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:“No output.”;若存在,则从小到大进行输出。
样例:
序号 | 测试输入 | 期待的输出 | 额外进程 |
---|---|---|---|
1 |
3↵
|
153↵ 370↵ 371↵ 407↵
|
0 |
2 |
2↵
|
No output.↵
|
0 |
思路
通过循环平判断每个范围内的数字是否为阿姆斯特朗数
因为n<=6,所以无论n是多少都当做n=6处理就可以了,比如 12345 的第一位是12345/100000=0
代码
#include <stdio.h>
#include <math.h>
int main()
{ int n,a,b,c,d,e,f,g,i,j=0; scanf("%d",&n); a=pow(10,n); for(i=pow(10,n-1);i<a;i++) { b=i/100000; c=(i%100000)/10000; d=(i%10000)/1000; e=(i%1000)/100; f=(i%100)/10; g=i%10; if((pow(b,n)+pow(c,n)+pow(d,n)+pow(e,n)+pow(f,n)+pow(g,n))==i&&i>=a/10) { printf("%d\n",i); j++; } } if(j==0) { printf("No output.\n"); } return 0;
}
课外思考
如果位数更多呢,比如n<=10?
可不可以用别的方法,不那么臃肿的方法?
事实上我们可以用两个循环加一个存储结果的变量all解决这个问题
同学们可以自己试试,如果想不出来可以参考n位正整数的个数
【中学】寻找阿姆斯特朗数相关推荐
- 寻找阿姆斯特朗数c语言程序,C程序检查阿姆斯特朗数
C程序检查阿姆斯特朗数 在此示例中,您将学习检查用户输入的整数是否是Armstrong数字. 要理解此示例,您应该了解以下C语言编程主题: 如果满足以下条件,则一个正整数称为阿姆斯特朗数(n阶),如果 ...
- 4.2寻找水仙花数(阿姆斯特朗数)、完美数,生成斐波那契数列,Craps赌博游戏
寻找阿姆斯特朗数 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI).自恋数.自幂数.阿姆斯壮数或阿姆斯 ...
- python寻找1000以内的阿姆斯特朗数
文章目录 方法一:计算出位数然后用for循环 方法二:用while循环+判断位数 阿姆斯特朗数定义:如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数. 例如1^3 + 5^3 + ...
- C++判断一个数是否为armstrong number阿姆斯特朗数(附完整源码)
C++判断一个数是否为armstrong number阿姆斯特朗数算法 C++判断一个数是否为armstrong number阿姆斯特朗数算法完整源码(定义,实现,main函数测试) C++判断一个数 ...
- C语言求一个数是否为armstrong阿姆斯特朗数(附完整源码)
是否为armstrong阿姆斯特朗数 是否为armstrong阿姆斯特朗数算法完整源码(定义,实现,main函数测试) 是否为armstrong阿姆斯特朗数算法完整源码(定义,实现,main函数测试) ...
- C语言实现阿姆斯特朗数armstrong number算法(附完整源码)
阿姆斯特朗数armstrong number 实现阿姆斯特朗数armstrong number算法的完整源码(定义,实现,main函数测试) 实现阿姆斯特朗数armstrong number算法的完整 ...
- python学习-综合练习三(斐波那契数列、阿姆斯特朗数、//和/、十进制转二进制bin、八进制oct、十六进制hex、进制转换源码、python中::和:的区别)
文章目录 斐波那契数列 阿姆斯特朗数 十进制转二进制bin.八进制oct.十六进制hex 补充进制转换源码 python中::和:的区别 说明:本篇博文的知识点大部分来自 Python3 实例 斐波那 ...
- python检验阿姆斯特朗数_python 之九九乘法表,润年,奇偶数,阿姆斯特朗数判断分享...
九九乘法表: for i in range(1, 10): for j in range(1, i + 1): print(j, "x", i, "=", i ...
- LeetCode 1134. 阿姆斯特朗数
文章目录 1. 题目 2. 解题 1. 题目 假设存在一个 k 位数 N,其每一位上的数字的 k 次幂的总和也是 N,那么这个数是阿姆斯特朗数. 给你一个正整数 N,让你来判定他是否是阿姆斯特朗数,是 ...
- python判断阿姆斯特朗数_Python 程序检查阿姆斯特朗数
Python 程序检查阿姆斯特朗数 在此示例中,您将学习检查n位整数是否是Armstrong数字. 要理解此示例,您应该了解以下Python编程主题: 一个正整数称为阿姆斯特朗阶数,n如果abcd.. ...
最新文章
- Jquery 之Ajax方法$.get() 的运用,扩展链接模型的天地
- 【骨架屏】【vue】如何在webpack+vue+vue-cli下搭建多模块/单模块多路由骨架屏
- 初来乍到,发布一个杀手应用:snap.com的web预览图功能,我给它取名叫“WebSnap”...
- MAC + Tomcat——部署Web项目时Tomcat启动成功,但部署的Web项目404错误
- python3 匹配空格 正则_玩转正则表达式
- excel如何在双引号里面引用变量
- matlab时域转换成频域_从时域到频域,你只需要旋转一下!
- jps后发现DataNode没有启动
- 《剑指offer》--- 数组中只出现一次的数字
- 方法超出 android,Android工程方法数超过64k,The number of method references in a .dex file cannot exceed 64K....
- 插入数据并返回插入数据ID
- 短信拦截马”黑色产业链与溯源取证研究
- 【JAVA基础】Java基础之-代理详解
- 微信公众号服务器图文消息发送规则,微信公众服务号怎么一天发一条图文消息?...
- matlab地理数据导入,基于Matlab的栅格地理数据处理-快速入门系列(1)
- LORA无线模块使用
- 如何用美剧真正提升你的英语水平(转载)
- 【java】714. 买卖股票的最佳时机含手续费-----动态规划!!!
- Windows 11 配置Java 环境变量
- TestFlight简易流程
热门文章
- 按首字母排序(汉字、英文、数字)简单实现
- k系列服务器,Nvidia开普勒K4000、K2000、K2000D、K600四款Kepler架构Quadro显卡专业卡全新登场...
- vba6.3提取自WPS2012专业增强版 带教程 (wps可能是因为该宏在此工作簿中不可用)
- QQ的DLL文件修改大全!
- C++ 高性能服务器网络框架设计细节
- 易能变频器说明书故障代码_易能变频器报警报故障代码维修技术指导
- 免费网站监控服务器,服务Web应用!10款免费服务器监控软件
- psd做成html叫切图吗,第一章 PSD网页切图制作HTML全过程教程.pdf
- 块设备驱动详解 IDE(转)
- Windows下修改hosts文件