关闭

I00037 亏数(Deficient number)

标签: 亏数Deficient number
508人阅读 评论(0) 收藏 举报
分类:

数论中,若一个正整数除了本身之外所有因子之和比此数自身小,则称此数为亏数。亏数(Deficient number)也称为缺数,参见百度百科_亏数,或参见维基百科的Deficient number。亏数在OEIS中的数列号为A005100

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

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

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

AC的C语言程序如下:

/* I00037 亏数(Deficient number) */

#include <stdio.h>
#include <memory.h>

#define MAXN 40000000

int 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;
}

运行实例:

99
1 2 3 4 5 7 8 9 10 11 13 14 15 16 17 19 21 22 23 25 26 27 29 31 32 33 34 35 37 38 39 41 43 44 45 46 47 49 50 51 52 53 55 57 58 59 61 62 63 64 65 67 68 69 71 73 74 75 76 77 79 81 82 83 85 86 87 89 91 92 93 94 95 97 98 99







1
0
查看评论

一个佛教故事!!!看懂了,就明白为何亏钱了

一个佛教故事!!!看懂了,就明白为何亏钱了2007-10-12 09:32佛下山游说佛法,在一家店铺里看到一尊释迦牟尼像,青铜所铸,形体逼真,神态安然,佛大悦。若能带回寺里,开启其佛光,记世供奉,真乃一件幸事,可店铺老板要价5000元,分文不能少,加上见佛如此钟爱它,更加咬定原价不放。 佛回到寺里对...
  • rainbow8966
  • rainbow8966
  • 2009-07-29 22:02
  • 301

matlab点滴

矩阵的基本运算 §3.1加和减 如矩阵A和B的维数相同,则A+B与A-B表示矩阵A与B的和与差.如果矩阵A和B的维数不匹配,Matlab会给出相应的错误提示信息.如: A=        ...
  • com_stu_zhang
  • com_stu_zhang
  • 2011-11-01 14:24
  • 1983

Magic Number魔数是什么

在网上查magic number的相关介绍的时候,看到很多人的博客中说magic number之所以叫magic number,就是因为我们并不知道它有什么含义。。。 最后看了知乎上的回答: Magic number一般是指硬写到代码里的整数常量,数值是程序员自己任意设置的,其他...
  • abcdyzhang
  • abcdyzhang
  • 2017-02-21 22:50
  • 1303

汽车蓄电池亏电的问题如何解决

充电指示系统电路如图8—18所示:C—发电机;JFT—电感调节器;B—蓄电池,F—磁场绕组;D52—二极管;L—充电指示灯;R1、R2、R3—定子绕组;D1、D2、D3、D4、D5、D6、D7、D8、D9.D10、D11—整流二极管。   其激磁及报警电路工作过程是:   点火开关置于“...
  • sherlock5867
  • sherlock5867
  • 2014-07-23 13:47
  • 908

lintcode Guess Number Game(Java)

1.题目 We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to guess which number I picked. Every time y...
  • C_calary
  • C_calary
  • 2017-07-03 10:32
  • 499

I00035 完美数(Perfect number)

笛卡尔说:“能找出的完美数是不会多的,好比人类一样,要找一个完美人亦非易事。” 数论中,若一个正整数除了本身之外所有因子之和正好等于此数自身,则称此数为完美数。完美数(Perfect Number)也称为完全数或完备数,参见百度百科_完全数,或参见维基百科的Perfect number。完...
  • tigerisland45
  • tigerisland45
  • 2016-08-28 20:51
  • 939

为什么说炒股票必亏无疑?

这里是我一个月前(5.10)写的一篇文章,共三部分,首发在聚秀社区,另外里面提到的部分文章,也可以直接在聚秀社区搜索到,会分期更新在这里。同时也欢迎大家加我的微信jnfqcy,一起交流讨论。 很久没有写股票的文章了,今天在机场整整延误了十三多个小时,闲着无聊写了篇关于股票和虚拟经济的文章,确切...
  • beyondqd
  • beyondqd
  • 2016-10-17 09:16
  • 1322

pat 爱丁顿数/Eddington Number

英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。 现给定某人N天的骑车距离,请你算出对应的爱丁顿数E( 输入格式: 输入第一行给出一个正整数N(5),即连续骑车的天数;第二行给出N个非负...
  • qq_32944513
  • qq_32944513
  • 2016-09-12 19:39
  • 773

PerfectNumber(完数)判断算法-- Java

问题描述: 若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数。简称“完数” 例如: 6=1+2+3  28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248 8128=1+2+4+8+16+32+64+1...
  • f2006116
  • f2006116
  • 2016-07-13 09:46
  • 1257

[Leetcode-263] Ugly Number(丑陋数)

【分析】思路:根据丑陋数的定义,我们将给定数除以2、3、5,直到无法整除,也就是除以2、3、5的余数不再为0时停止。这时如果得到1,说明是所有因子都是2或3或5,如果不是1,则不是丑陋数。
  • xy010902100449
  • xy010902100449
  • 2015-09-05 10:57
  • 2164
    个人资料
    • 访问:980618次
    • 积分:22240
    • 等级:
    • 排名:第389名
    • 原创:1156篇
    • 转载:104篇
    • 译文:0篇
    • 评论:426条
    文章分类
    博客专栏
    最新评论