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

2025-10-19 17:15:56

1、先打开Visual Studio 2012。要创建C#控制台应用程序,首先选择“文件”→“新建”→“项目”命令,打开“新建项目”对话框。

在弹出的“新建项目”的对话框中,左边选择“已安装”下的“其他语言”下的“Visual C#”,然后在霜泛驼中间的列表框中选择“控制台应用程序”选项,点击“确定”。

对打开操作不清楚的同学可以参照下面的经验。

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

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

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

3、第一个问题:将这个数值类型定义为整型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

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

4、第二个问题:选用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++)

5、应用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();   

      }

 }

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

6、应用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();   

       }

  }

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

7、      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();   

   恩忌  }

}

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

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

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢