博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
I00036 盈数(Abundant number)
阅读量:7281 次
发布时间:2019-06-30

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

数论中,若一个正整数除了本身之外所有因子之和比此数自身大,则称此数为盈数。盈数(Abundant number)也称为丰数或过剩数,参见,或参见维基百科的。亏数在中的数列号为。

问题描述:输入n(n40000000),计算输出n的所有数,每个数之间用空格隔开,输出在一行里。

问题分析:可以使用筛选法原理计算各个数的因子之和,然后再判定输出。

程序说明:数组sum[]中存放除了自身之外的因子之和,例如sum[i]中存放除了i以外的i的因子之和。

AC的C语言程序如下:

/* I00036 盈数(Abundant number) */#include 
#include
#define MAXN 40000000int sum[MAXN+1];void maketable(int n){ memset(sum, 0, sizeof(sum)); sum[1] = 0; int i=2, j; while(i<=n) { sum[i]++; j = i + i; /* j=ki, k>1 */ while(j <= n) { sum[j] += i; j += i; } i++; }}int main(void){ int n, flag, i; scanf("%d", &n); maketable(n); flag = 0; for(i=1; i<=n; i++) if(sum[i] > i) { if(flag) printf(" "); flag = 1; printf("%d", i); } printf("\n"); return 0;}

运行实例:

999

12 18 20 24 30 36 40 42 48 54 56 60 66 70 72 78 80 84 88 90 96 100 102 104 108 112 114 120 126 132 138 140 144 150 156 160 162 168 174 176 180 186 192 196 198 200 204 208 210 216 220 222 224 228 234 240 246 252 258 260 264 270 272 276 280 282 288 294 300 304 306 308 312 318 320 324 330 336 340 342 348 350 352 354 360 364 366 368 372 378 380 384 390 392 396 400 402 408 414 416 420 426 432 438 440 444 448 450 456 460 462 464 468 474 476 480 486 490 492 498 500 504 510 516 520 522 528 532 534 540 544 546 550 552 558 560 564 570 572 576 580 582 588 594 600 606 608 612 616 618 620 624 630 636 640 642 644 648 650 654 660 666 672 678 680 684 690 696 700 702 704 708 714 720 726 728 732 736 738 740 744 748 750 756 760 762 768 770 774 780 784 786 792 798 800 804 810 812 816 820 822 828 832 834 836 840 846 852 858 860 864 868 870 876 880 882 888 894 896 900 906 910 912 918 920 924 928 930 936 940 942 945 948 952 954 960 966 968 972 978 980 984 990 992 996

转载于:https://www.cnblogs.com/tigerisland/p/7564322.html

你可能感兴趣的文章
matlab读取csv文件数据并绘图
查看>>
Fortinet 携手中信国际电讯CPC在亚太地区扩展安全托管服务
查看>>
Mysql 数据库单机多实例部署手记
查看>>
亚太区各城市生活成本大比拼
查看>>
六西格玛管理——《可以量化的管理学》
查看>>
wdlinux 一键安装
查看>>
Jenkins可用环境变量列表以及环境变量的使用(Shell/Command/Maven/Ant)
查看>>
威胁猎手养成
查看>>
idea2017.3卡死的坑
查看>>
CUBA Platform 开发者手册中文版发布 ,企业级应用开发平台
查看>>
Spring集成redis(Spring Data Redis)
查看>>
php常用Stream函数集介绍
查看>>
Atom打开大文件卡死的问题替代方案
查看>>
区块链集体癫狂的背后是互联网行业缺乏创新的焦虑
查看>>
揭示汽车制造行业未来,尽在广州自动化展!
查看>>
重新安装yum(以centos6.6为例)
查看>>
大数据在商业化浪潮中大步前进,但网络安全迫在眉睫
查看>>
这年头,连无人机都有了“身份证”!
查看>>
出国不用兑换美元啦 细说人民币跨境支付系统的幕后功臣
查看>>
脱离经验,还谈什么新零售?
查看>>