如何用C#寻找100-999之间的水仙花数

水仙花数只是自幂数的一种,严格来说是三位数的个位、十位、百位的3次幂数相加等于原来的数字,称为水仙花数。(例如:1^3 + 5^3+ 3^3 = 153)那么如何通过C#语句来解决这个问题呢?

操作方法

  • 01

    先打开Visual Studio 2012。要创建C#控制台应用程序,首先选择“文件”→“新建”→“项目”命令,打开“新建项目”对话框。 在弹出的“新建项目”的对话框中,左边选择“已安装”下的“其他语言”下的“Visual C#”,然后在中间的列表框中选择“控制台应用程序”选项,点击“确定”。 对打开操作不清楚的同学可以参照下面的经验。

  • 02

    想要找到百位的水仙花数,要解决的问题由两个,第一个是如何让计算机正确分离出百位数的个位、十位、百位的数字。第二个是如何将其不断循环让100到999都能经过检验。

  • 03

    第一个问题:将这个数值类型定义为整型int(这种数据类型的数字是没有小数点的) 最高位数字——对100整除,则小数点后的数值都被强制去掉了。如153/100=1.53=1(int类型); 最低位数字——对10取余数,153%10=3; 中间位数字,利用上面两种方法有两种不同的解决思路。 方法1:将其变为最高位数字再整除,先将这个数字减去100*最高位数字,则中间位则成为最高位数字,再用它对10整除,小数点被去掉了。 如(153-100*1)/10=5.3=5(int) 方法2:将其变为最低位数字,这个数字除以10之后,中间位的数字就变成了最低位。由于除法运算符的优先级高于求余运算符,所以括号可以省略。 (153/10)%10=153/10%10=15%10=5

  • 04

    第二个问题:选用while或for循环结构,使得100到999都能拆开来分别来检验。 int i=100 while(i<=999){循环体 ;i++; } for(表达式1;表达式2;表达式3) 表达式1设置初始条件,表达式2是循环条件,表达式3是循环的调整。 for (int i = 100; i < 1000; i++)

  • 05

    应用While语句,具体语句如下: using System; public class Program { public static void Main() { int a, b, c,i=100; while( i < 1000) { a = i / 100; b = (i - a * 100) / 10; c = i % 10; if (i == a * a * a + b * b * b + c * c * c) Console.WriteLine("i={0}", i);   i++; } Console.ReadLine(); } }

  • 06

    应用for语句 具体语句如下: using System; public class Program { public static void Main() {        int a, b, c,i=100; while( i < 1000) { a = i / 100; b = (i - a * 100) / 10; c = i % 10; if (i == a * a * a + b * b * b + c * c * c) Console.WriteLine("i={0}", i);   i++; } Console.ReadLine(); } }

  • 07

    if (i == a * a * a + b * b * b + c * c * c)      在这语句中是用三次连乘积表示三次方,也可以直接使用Pow的幂函数。 using System; public class Program { public static void Main() { int a, b, c,i=100; while( i < 1000) { a = i / 100; b = (i - a * 100) / 10; c = i % 10; if (i ==Math.Pow(a,3)+Math.Pow(b,3)+Math.Pow(c,3)) Console.WriteLine("i={0}", i);   i++; } Console.ReadLine(); } }

  • 08

    输出结果百位的水仙花数:153、370、371、407

(0)

相关推荐

  • 如何用EXCEL设计100以内的加减法题

    孩子开始上学了,家长永远操不完的心,有的家长为了强化训练孩子的计算能力,想出些简单的加减法题,手写嫌麻烦,就想到利用EXCEL来出题,本篇就介绍下如何用EXCEL来自动出题. 操作方法 01 开始练习 ...

  • 如何用QQ寻找附近的群

    QQ一直以来是国人交流的一个重要工具,随着版本的不断更新,QQ的功能也在不断扩展包容,现在很多人建立了各式各样的QQ群,让一些有共同追求或者其它类型的朋友聚在一起,相互了解.学习.帮助等,现在QQ还有 ...

  • 100到999的水仙数(c#)

    操作方法 01 using System; using System.Collections.Generic; using System.Linq; using System.Text; namesp ...

  • 200%色域是否可能 色域未来发展趋势解惑

    所谓的色域,是指显示器的色彩表现范围。色域越大,显示屏幕上所能表现的一种颜色的程度越丰富,色彩也就越艳丽。因此,无论是用户还是厂商,大家都是寻找着提升LCD色域的方法。 120% NTSC,色域范围新 ...

  • 易被忽视的重要曝光知识

    第一步,获得自己相机的曝光数据 每个型号的相机曝光数据其实都是不一样的,即使同一型号的相机曝光也有差异,所以要获得完美的曝光,我们就必须先了解自己手上相机的曝光数据. 1.首先需要一张白纸,白墙也可以 ...

  • 华为交换机多VLAN配置及VLAN间互通配置

    实验要求: ①.Switch1.Switch2.Switch3作为接入二层交换机:创建业务Vlan100.Vlan200.Vlan300作为业务Vlan:创建Vlan999作为设备的管理Vlan. ② ...

  • Win7系统组策略的几个常用技巧总结

    第一.限制、隐藏磁盘分区 为了使用方便,我们有时也在多人共用的公用电脑中存放一些属于个人隐私级别的数据资料,为了保证这些数据的安全,可以通过对磁盘分区进行限制或隐藏来实现对数据的保护。 在打开的“组策 ...

  • win8限制账号登入错误次数开启方法

    用过网银、支付宝的用户都知道,在登录的过程中,如果5次密码错误就会被限制登陆。现在 Win8 也加入了这个安全机制,不过默认是没有开启的,对资料,隐私有安全顾虑的用户,可以开启这功能,减少被爆的风险。 ...

  • 无线WiMAX和Wi-Fi的常见知识误区

     WiMAX是IEEE802.16乙太网络的界面标准,就像Wi-Fi 是802.11乙太网络的标准一样。 这两年来,WiMax 已经成为无线网络界最流行的专用字汇。 同时它也可能是近年来最被夸大误解的 ...