本文共 1020 字,大约阅读时间需要 3 分钟。
下面是一个Objective-C程序示例,用于检查是否为完数,并打印10000以内的所有完数。
#importBOOL isPerfectNumber(int number) { int sum = 1; // 1是所有数的因数,除了自身 int sqrtNumber = sqrt(number); for (int i = 2; i <= sqrtNumber; i++) { if (number % i == 0) { sum += i; int counterpart = number / i; if (counterpart != i) { sum += counterpart; } } } return sum == number; } int main(int argc, const char *argv) { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; int maxNumber = [defaults integerForKey:@"maxNumber" ]; if (maxNumber <= 0) { maxNumber = 10000; } for (int number = 1; number <= maxNumber; number++) { if (isPerfectNumber(number)) { printf("%d是一个完数\n", number); } else { printf("%d不是一个完数\n", number); } } return 0; }
转载地址:http://llifk.baihongyu.com/