當前位置:妙知谷 >

遊戲數碼 >電腦 >

如何用C#尋找100-999之間的水仙花數

如何用C#尋找100-999之間的水仙花數

水仙花數只是自冪數的一種,嚴格來說是三位數的個位、十位、百位的3次冪數相加等於原來的數字,稱為水仙花數。(例如:1^3 + 5^3+ 3^3 = 153)那麼如何通過C#語句來解決這個問題呢?

操作方法

(01)先開啟Visual Studio 2012。要建立C#控制檯應用程式,首先選擇“檔案”→“新建”→“專案”命令,開啟“新建專案”對話方塊。在彈出的“新建專案”的對話方塊中,左邊選擇“已安裝”下的“其他語言”下的“Visual C#”,然後在中間的列表框中選擇“控制檯應用程式”選項,點選“確定”。對開啟操作不清楚的同學可以參照下面的經驗。

如何用C#尋找100-999之間的水仙花數
如何用C#尋找100-999之間的水仙花數 第2張

(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

如何用C#尋找100-999之間的水仙花數 第3張

(04)第二個問題:選用while或for迴圈結構,使得100到999都能拆開來分別來檢驗。int i=100while(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)eLine("i={0}", i);   i++;}Line();}}

(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)eLine("i={0}", i);   i++;}Line();}}

(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 ==(a,3)+(b,3)+(c,3))eLine("i={0}", i);   i++;}Line();}}

如何用C#尋找100-999之間的水仙花數 第4張

(08)輸出結果百位的水仙花數:153、370、371、407

如何用C#尋找100-999之間的水仙花數 第5張
標籤: 水仙花
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/zh-tw/sm/diannao/8mjzg3.html