Objective-C实现打印10000以内的完数(附完整源码)
发布日期:2025-04-25 23:39:47 浏览次数:3 分类:精选文章

本文共 1020 字,大约阅读时间需要 3 分钟。

Objective-C打印10000以内的完数
完数(Perfect Number)是指一个正整数等于它所有正因子(不包括自身)之和的数。例如,6是一个完数,因为1 + 2 + 3 = 6。

下面是一个Objective-C程序示例,用于检查是否为完数,并打印10000以内的所有完数。

#import 
BOOL 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;
}
上一篇:Objective-C实现打印1000以内的水仙花数(附完整源码)
下一篇:Objective-C实现截留雨水问题的蛮力方法的算法(附完整源码)

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月11日 18时50分32秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章