C#自恋数字黑洞—水仙花数、玫瑰花数、五角星数
自恋数
当一个n位数的所有数位上数字的n次方和等于这个数本身,这个数就叫自恋数。
显然1,2,3,...,9是自恋数。【比如6的一次方仍然是6】,自恋性数字也是数字黑洞的一种。
水仙花数
三位数中的自恋数,三位数的所有数位上数字的三次方之和等于这个数本身
三位数中的自恋数有四个:153,370,371和407(这四个数被称为“水仙花数”)。
比如371=3的三次方+7的三次方+1的三次方
玫瑰花数
四位数中的自恋数,四位数的所有数位上数字的四次方之和等于这个数本身
四位的“玫瑰花数”有:1634,8208;9474;
五角星数
五位数中的自恋数,五位数的所有数位上数字的五次方之和等于这个数本身
五位的“五角星数”有:54748,92727,93084。
当数字个数大于五位时,这类数字就统称为“自幂数”。
我们使用C#程序获取10万【1~99999】以下的所有自恋数。
使用5个现场进行处理:分一位数、二位数、三位数、四位数、五位数。
控制台NarcissisticNumberDemo源程序如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace NarcissisticNumberDemo
{class Program{static void Main(string[] args){Console.SetWindowSize(110, 30);//当一个n位数的所有数位上数字的n次方和等于这个数本身,这个数就叫自恋数。//水仙花数:三位数中的自恋数,三位数的所有数位上数字的三次方之和等于这个数本身Task taskOne = Task.Factory.StartNew(() => {GetScopeNarcissisticNumber(1, 10, "一");});Task taskTwo = Task.Factory.StartNew(() =>{GetScopeNarcissisticNumber(10, 100, "二");});Task taskThree = Task.Run(() =>{GetScopeNarcissisticNumber(100, 1000, "三");});Task taskFour = Task.Run(() =>{GetScopeNarcissisticNumber(1000, 10000, "四");});Task taskFive = Task.Run(() =>{GetScopeNarcissisticNumber(10000, 100000, "五");});Console.ReadLine();}/// <summary>/// 获取范围内的所有自恋数/// </summary>/// <param name="from">起始数,包含此数</param>/// <param name="to">到倒数,不包含此数</param>/// <param name="digitInfo">位数</param>static void GetScopeNarcissisticNumber(int from, int to, string digitInfo){Console.WriteLine($"[{DateTime.Now.ToString("HH:mm:ss.fff")}]->获取【{digitInfo}】位数的所有自恋数:");int count = 0;for (int number = from; number < to; number++){if (IsNarcissisticNumber(number)){count++;}}Console.WriteLine($"[{DateTime.Now.ToString("HH:mm:ss.fff")}]->【{digitInfo}】位数的所有自恋数共有【{count}】个");}/// <summary>/// 是否是自恋数/// 一个n位数的所有数位上数字的n次方和等于这个数本身,这个数就叫自恋数。/// </summary>/// <param name="number"></param>/// <returns></returns>static bool IsNarcissisticNumber(int number){if (number < 1 || number > 99999){Console.WriteLine($"无效的数字【{number}】,请输入范围在1~99999之间的数");return false;}int originNumber = number;//原始数字Stack<int> stack = new Stack<int>();while (number != 0){stack.Push(number % 10);number = number / 10;}//位数int digit = stack.Count;int sum = 0;//求和while (stack.Count > 0){sum += (int)Math.Pow(stack.Pop(), digit);}if (sum == originNumber){string description = string.Empty;switch (digit){case 3:description = "【水仙花数】";break;case 4:description = "【玫瑰花数】";break;case 5:description = "【五角星数】";break;}Console.WriteLine($"[{DateTime.Now.ToString("HH:mm:ss.fff")}]->【{digit}】位数【{originNumber}】是自恋数。{description}");return true;}return false;}}
}
运行如图
C#自恋数字黑洞—水仙花数、玫瑰花数、五角星数相关推荐
- 数字黑洞水仙花数6174卡普耶卡变换,卡布列卡常数归敛
今天在头条上刷到一篇文章,挺有趣,不想点连接的话我直接把文章考过来了,不知道算不算侵权 头条文章链接 全文: 解析神秘数学黑洞"6174" 或许你早就听过这个故事:有一个神秘的数学 ...
- 用python输出所有的玫瑰花数_c语言输出所有得水仙花数,玫瑰花数和五角星数
展开全部 水仙花数即2113三位的自幂数.所谓自幂数,就是指5261一个 n 位数 ( n≥41023 ),其每位上的数字的1653 n 次幂之和等于本身. 所以水仙花数,首先是三位数,形式为abc, ...
- C语言黑洞数字123,20175234 2018-2019-2 个人项目:数字黑洞(三):圣经数
#20175234 2018-2019-2 个人项目:数字黑洞(三):圣经数 ###来源 这个美妙的名称出自圣经<新约全书>中约翰福音第21章:耶稣对他们说:"把刚才打的鱼拿几尾 ...
- 特殊的数独身数,:水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗七星数, 八仙数, 九九重阳数 ,十全十美数...
特殊的数 你听过一些特殊的数码,如:独身数, 水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗×××数, 八仙数, 九九重阳数 ,十全十美数.说到这你是否和我当初一样好奇呢,这是什么数呢!总的概 ...
- 用python输出所有的玫瑰花数_用python实现输出3位水仙花数、玫瑰花数、
题目 "3位水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身.例如:ABC是一个"3位水仙花数",则:A的3次方+B的3次方+C的3次方 = ABC ...
- c语言打印出水花数,四叶玫瑰数,五角星数等等的数字
求出0-999999之间的所有"水仙花数"并输出. "水仙花数"是指一个三位数,其各位数字的立方和确好等于该数本身, 如:153=13+53+3^3?,则153 ...
- *用for循环求“水仙花数”和“玫瑰花数”
[ 用for循环求水仙花数和玫瑰花数] 初步了解 for循环: 1.表达式:for(单次表达式1:条件表达式2:末尾循环体3) { 中间循环体4: } 2.执行顺序:表达式1--表达式2--表达式4- ...
- 如何用Java做玫瑰花数_c语言如何输出玫瑰花数?(代码示例)
玫瑰花数又称"四叶玫瑰数",是指四位数各位上的数字的四次方之和等于本身的数. 例如:1634就是一个玫瑰花数1*1*1*1=16*6*6*6=12963*3*3*3=814*4*4 ...
- 计算并输出所有的玫瑰花数
如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数.四位自方幂数称为玫瑰花数.编程计算并输出所有的玫瑰花数. #include <stdio.h> #include &l ...
最新文章
- 安卓应用安全指南 4.4.3 创建/使用服务高级话题
- Asp.Net就业课之三验证控件
- chrome开发者工具各种骚技巧
- BERT模型实战之多文本分类(附源码)
- conformal mapping的理解
- Linux网卡配置出错无法联网-联网报错解决方法
- Qt窗口操作函数(最大化,全屏,隐藏最大化,最小化)
- 关于Firefox浏览器设置默认字体的教程
- pc电脑版java模拟器下载安装_PC电脑版java模拟器
- 操作 神通数据库_神通大型通用数据库
- 根据城市编码提取出省份名和城市名
- 文档型数据库MongoDB使用教程
- 谷歌浏览器的internet选项在哪里
- 开发智能名片小程序时遇到的技术问题以及解决办法
- 写给刚接触Auto CAD新人的建议——第三期
- 帮我写一个无数爱心滑落的html
- android高德地图上加自定义菜单,自定义UI控件-UI界面定制-开发指南-Android 导航SDK | 高德地图API...
- SAP术语总结详细版(转)
- @ConfigrationProperties + @EnableConfigrationProperties
- 基于AIGC的3D场景创作引擎概述
热门文章
- [Alpha] Scrum Meeting 8 - TEAM LESS ERROR
- jquery plugin --image magnifier 放大器
- 软件测试等级abcd,学业水平测试怎样才算过?ABCD等级的分数的范围
- U盘中的数据被格式化了怎么恢复?原来数据恢复也很简单
- 【高中数学】三棱锥体积公式
- 怎么把html封装成桌面应用,如何将一个现有的Vue网页项目封装成electron桌面应用...
- 《2022爱分析·营销服一体化实践报告》发布:营销服一体化重塑企业增长新链路
- 英文邮件:greetings
- 联合会杯-内马尔破门锋霸2球 巴西3-0西班牙3连冠
- RISC-V 架构指令集手册 第一册 无特权指令集 中文翻译