當前位置:妙知谷 >

遊戲數碼 >電腦 >

如何用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/sm/diannao/8mjzg3.html