首页
社区
课程
招聘
[转帖][原创]c#的水仙花数
发表于: 2017-3-15 22:01 2082

[转帖][原创]c#的水仙花数

2017-3-15 22:01
2082
第一种方法:
using System;
class ShuiXianHua
       {
               static void Main()
               {
                        for(int i=1;i<10;i++)
                              for(int j=0;j<10;j++)
                                    for(int k=0;k<10;k++)
                                          if(i*100+j*10+k==Math.Pow(i,3)+Math.Pow(j,3)+Math.Pow(k,3))
                                                    Console.Write("{0,5}",i*100+j*10+k);
                      Console.WriteLine();
               }
      }
第二种方法:
using System;
class ShuiXianHua
       {
            static void Main()
           {
                int i,j,k;
                for(int num = 100;num<1000;num++)
                {
                     i = num/100;        //百位数字
                     j = num%100/10;  //十位数字
                     k = num%10;        //个位数字
                    if(i*i*i+j*j*j+k*k*k == num)
                          Console.Write("{0,5}",num);
               }
               Console.WriteLine();
         }
     }
第三种方法:
using System;
class ShuiXianHua
      {
               public bool IsShuiXianHua(int num)       //定义一个函数判断一个数是否为水仙花数
              {
                   bool mark = false;
                   int i,j,k;
                   i = num/100;                    //百位数字
                   j = num%100/10;             //十位数字
                  k = num%10;                    //个位数字
                  if(i*i*i+j*j*j+k*k*k == num)
                       mark = true;
                 else
                       mark = false;
                 return mark;
               }
        }
       class Test
        {
                 static void Main()
                  {
                         ShuiXianHua sxh = new ShuiXianHua();
                         for(int n = 100;n < 1000; n++)
                         {
                               if(sxh.IsShuiXianHua(n))
                                      Console.Write("{0,5}",n);
                         }
                        Console.WriteLine();
                  }
       }
第四种方法:
using System;
class ShuiXianHua
      {
               static void Main()
               {
                      int i,j,k;
                      Console.WriteLine("水仙花数有:");
                      for(int n=100;n<1000;n++)
                      {
                             i = n/100;                           //获得百位上的数字
                             j = (n -i*100)/10;               //获得十位上的数字
                             k = n - i*100 - j*10;           //获得个位上的数字
                             if(Math.Pow(i,3)+Math.Pow(j,3)+Math.Pow(k,3)==n)
                                   Console.Write("{0,5}",n);
                       }
                      Console.WriteLine();
                 }
      }
第五种方法:
using System;
class ShuiXianHua
       {
              static void Main()
              {
                   string s;
                   int i,j,k;
                   Console.WriteLine("水仙花数有:");
                   for(int n=100;n<1000;n++)
                   {
                         s = n.ToString();            //将数字n转化为字符串
                         i = s[0] - '0';                   //获得百位上的数字
                         j = s[1] - '0';                  //获得十位上的数字
                        k = s[2] - '0';                  //获得个位上的数字
                        if(i*i*i + j*j*j + k*k*k == n)
                            Console.Write("{0,5}",n);
                   }
                   Console.WriteLine();
              }
       }
by Skyler



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//