static void Main(string[] args) { //求1-1000內全部的完數 //徹底數,又稱完美數或完備數,是一些特殊的天然數:它全部的真因子(即除了自身之外的約數)的和,剛好等於它自己。例如6: 6=1+2+3 //真因子,是全部能夠整除這個數的數,可是不包括這個數自身 //遍歷1到1000 for (int i = 1; i <= 1000; i++) { int sum = 0; //定義一個變量用來存儲一個數的全部因子的和 //遍歷一個數的真因子 //一個整數的真因子都小於或等於這個數的一半,全部只須要遍歷到i/2 for (int j = 1; j <= i/2; j++) { if (i % j == 0) //判斷是否能夠被整除,能夠即爲真因子 { sum += j; //全部真因子的和 } } if (i == sum) //判斷整數是否等於它全部真因子的和 { Console.WriteLine(i + "是一個完數"); } } Console.ReadKey(); }
結果是:六、2八、496。
c#