当前位置: 首页 > 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.xdnf.cn/news/1319905.html

相关文章:

  • IDE/去读懂STM32CubeMX 时钟配置图(有源/无源晶振、旁路/晶振模式、倍频/分频)
  • 负载测试与压力测试详解
  • Rust Async 异步编程(五):执行器和系统 I/O
  • Spring 创建 Bean 的 8 种主要方式
  • MXFP4量化:如何在80GB GPU上运行1200亿参数的GPT-OSS模型
  • 【SpringBoot】Swagger 接口工具
  • 如何在Windows系统中更改用户名(中文转英文全流程)
  • 云原生俱乐部-RH134知识点总结(2)
  • MySQL数据库备份与恢复
  • neo4j导入导出方法
  • 25年第十本【金钱心理学】
  • 半敏捷卫星观测调度系统的设计与实现
  • 《WINDOWS 环境下32位汇编语言程序设计》第3章 使用MASM
  • Effective C++ 条款46:需要类型转换时请为模板定义非成员函数
  • Critic-V: VLM Critics Help Catch VLM Errors in Multimodal Reasoning(CVPR 2025)
  • 飞算AI 3.2.0实战评测:10分钟搭建企业级RBAC权限系统
  • 【牛客刷题】求四个数的最小公约数:两种高效解法详解(枚举法和最大公约数法)
  • 华为云之Linux系统安装部署Tomcat服务器
  • 【技术博客】480p 老番 → 8K 壁纸:APISR × SUPIR × CCSR「多重高清放大」完全指南
  • YoloV9改进策略:Block改进-DCAFE,并行双坐标注意力机制,增强长程依赖与抗噪性-即插即用
  • 【Golang】:函数和包
  • HTTPS 配置与动态 Web 内容部署指南
  • 数组实现各类数据结构
  • 创建工作空间与功能包
  • nodejs 中间件
  • 科目二的四个电路
  • Windows运维之以一种访问权限不允许的方式做了一个访问套接字的尝试
  • 健身房预约系统SSM+Mybatis实现(三、校验 +页面完善+头像上传)
  • es7.17.x es服务yellow状态的排查查看节点,分片状态数量
  • 生成模型实战 | InfoGAN详解与实现