本帖最后由 yuanlianxi03 于 2014-1-10 12:11 编辑
- class Program
- {
- static void Main(string[] args)
- {
- for (int i = 1; i <= 1000; i++) //
- {
- int sum = 1; //初始化sum为1,因为1是任何整数的因子,直接将sum赋值为1,免去判断1为因子。
- for (int j = 2; j <= Math.Sqrt(i); j++) //从2开始寻找每个数的因子 ,一直到等于开方数
- {
- if (i % j == 0) //如果一个数对另一个数求模得0,则其为本数的因子
- {
- sum += j; //加上第一个因子
- if((i / j) != j)
- sum += i / j;//加上与第一个因子对应的另一个因子
- }
- }
- if (sum == i)
- {
- Console.Write("{0,9}", sum);
- }
- }
- Console.ReadKey();
- }
- }
复制代码
|