網(wǎng)站首頁 編程語言 正文
阿姆斯特朗數(shù)
阿姆斯特朗數(shù)是一個數(shù)字,等于每個數(shù)字的冪乘以總位數(shù)。 例如,諸如0、1、153、370、371和407、1634、8208、9474的數(shù)字是阿姆斯特朗數(shù)。
例如:
-
371 為3位數(shù), 則用每位數(shù)的3次方
(3 * 3 * 3)=27
(7 * 7 * 7)=343
(1 * 1 * 1) =1
總數(shù): 27+343+1=371
判斷數(shù)字是否屬于阿姆斯特朗數(shù)?
static void Main(string[] args) { int i = 0; int digitCount = 0; /* * 這里我們只測試int類型的最大值區(qū)間(<2,147,483,647)的結(jié)果, * 所以我們定義的長度為0 */ int[] digitArray = new int[10]; double sum = 0; Console.Write("請輸入驗(yàn)證的數(shù)字 : "); //1.輸入數(shù)字 int number = int.Parse(Console.ReadLine()); //2.用臨時變量保存該數(shù)字 int temporaryNumber = number; //3.保存數(shù)字的總數(shù)以及每個數(shù)字存儲在數(shù)字?jǐn)?shù)組中 while (number > 0) { digitArray[i++] = number % 10; number = number / 10; digitCount++; } //4.計算結(jié)果 for (i = 0; i < digitCount; i++) //計算數(shù)字的次數(shù)冪 sum += Math.Pow(digitArray[i], digitCount); //5.判斷結(jié)果 if (sum == temporaryNumber) Console.WriteLine($"{temporaryNumber} 屬于阿姆斯特朗數(shù)"); else Console.WriteLine($"{temporaryNumber} 不屬于阿姆斯特朗數(shù)"); Console.ReadLine(); }
測試輸出結(jié)果:
獲取某個區(qū)間的所有阿姆斯特朗數(shù)
static void Main(string[] args) { Console.Write("輸入起始數(shù)字 : "); int StartNumber = int.Parse(Console.ReadLine()); Console.Write("輸入結(jié)束數(shù)字 : "); int EndNumber = int.Parse(Console.ReadLine()); Console.WriteLine($"阿姆斯特朗數(shù)區(qū)間為: {StartNumber} ~ {EndNumber} 的結(jié)果為 : "); for (int i = StartNumber; i <= EndNumber; i++) { if (IsArmstrongNumber(i)) Console.WriteLine(i); } Console.ReadLine(); } static bool IsArmstrongNumber(int number) { int sum = 0; int temporaryNumber = number; int temp = 0; int length = number.ToString().Length; while (number != 0) { temp = number % 10; number = number / 10; sum += (int)Math.Pow(temp, length); } if (sum == temporaryNumber) return true; else return false; }
測試輸出結(jié)果:
原文鏈接:https://www.cnblogs.com/zh7791/p/14714786.html
相關(guān)推薦
- 2022-07-04 C#中File靜態(tài)類對文件的讀取寫入_C#教程
- 2022-05-11 深入理解AQS之獨(dú)占鎖ReentrantLock源碼分析
- 2022-04-16 關(guān)于Pyinstaller打包eel和pygame需要注意的坑_python
- 2022-05-11 Springcloud集成Seata分布式事務(wù)
- 2022-04-27 Python線程之線程安全的隊(duì)列Queue_python
- 2022-11-19 python中celery的基本使用詳情_python
- 2022-08-18 C語言實(shí)現(xiàn)棧的示例代碼_C 語言
- 2022-07-17 虛擬環(huán)境下搭建一個Django項(xiàng)目_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支