当前位置: 首页 > news >正文

编程算法实例-Armstrong数(阿姆斯特朗数)

水仙花数( Narcissistic number )也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数( Armstrong number ),水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身 (例如: 1^3 + 5^3+ 3^3 = 153 )。

#include <stdio.h>
#include <stdbool.h>//
bool isArmstrongNum(int n) {// 1 位数int count = 0;int num = n;while (num != 0) {num = num / 10;count++;}// 2 每位数的n次方相加后的总和int sum = 0;num = n;while (num != 0) {int a = num % 10; // 最后一位数int len = count;int tmp = 1;while (len != 0) {tmp = tmp * a; // 每位数的n次方len--;}sum += tmp; // n位数的n次方之和num = num / 10;}// 3 不相等则不是if (origin != sum) {return false;}return true;
}int main()
{int n = 1634;printf("%d%s", n,(isArmstrongNum(n) ? "是阿姆斯特朗数" : "不是阿姆斯特朗数"));return 0;
}

153是阿姆斯特朗数
151不是阿姆斯特朗数
1634是阿姆斯特朗数

http://www.dtcms.com/a/335589.html

相关文章:

  • TDengine IDMP 运维指南(1. 部署规划)
  • ThinkPHP8学习篇(三):控制器
  • 网络常识-SSE对比Websocket
  • 《Python学习之文件操作:从入门到精通》
  • 新的“MadeYouReset”方法利用 HTTP/2 进行隐秘的 DoS 攻击
  • 李宏毅NLP-11-语音合成
  • ReID/OSNet 算法模型量化转换实践
  • 【Tech Arch】Hive技术解析:大数据仓库的SQL桥梁
  • 【Docker】搭建一款功能强大且免费的开源在线绘图工具 - draw.io
  • 栈与队列:数据结构中的双生子
  • 【前端基础】19、CSS的flex布局
  • 火狐(Mozilla Firefox)浏览器离线安装包下载
  • 计算机网络 Cookie 和 Session 的区别详解
  • Windchill 11.0使用枚举类型自定义实用程序实现生命周期状态管理
  • 最小路径和
  • Java基础面试题(3)—Java(String字符串的存储方式,字面量)
  • docker常用命令详解
  • [GLM-4.5] LLM推理服务器(SGLang/vLLM) | 工具与推理解析器
  • 03高级语言逻辑结构到汇编语言之逻辑结构转换if (...) {...} else if {...} else {...}
  • java设计模式之迪米特法则使用场景分析
  • C++ 特殊类设计与单例模式解析
  • USB 2.0声卡
  • STL——set map
  • 机器学习--PCA降维
  • 功能强大!开源免费的视频翻译、音视频转录工具
  • LLM应用终极评估指南
  • 一键管理 StarRocks:简化集群的启动、停止与状态查看
  • 《解构WebSocket断网重连:指数退避算法的前端工业级实践指南》
  • 《PEFLL: Personalized Federated Learning by Learning to Learn》——论文阅读
  • 数据电台询价的询价要求