若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。


  • 运维

  • 前端

  • 编程

  • 随笔

  • hust-oj

1657: Divisor Summation

发表于 2017-10-06   |   分类于 HUSTOJ   |   阅读次数 1,147

题目描述

Give a natural number n (1 <= n <= 500000), please tell the summation of all its proper divisors.

Definition: A proper divisor of a natural number is the divisor that is strictly less than the number.

e.g. number 20 has 5 proper divisors: 1, 2, 4, 5, 10, and the divisor summation is: 1 + 2 + 4 + 5 + 10 = 22.

输入

An integer stating the number of test cases, and that many lines follow each containing one integer between 1 and 500000.

输出

One integer each line: the divisor summation of the integer given respectively.

样例输入

3
2
10
20

样例输出

1
8
22

参考代码

#include <stdio.h>
#include <string.h>
 #define N 500001
 int num[N];
int main() 
{
    int n;
    memset(num,0,sizeof(num));
    /*for(int i=1;i<=250000;i++)
       for(int j=2;i*j<=500000;j++)
      num[i*j]+=i;*/
    for (int i = 1; i <= 250000; i++)
            for (int j = i*2; j <= 500000; j += i)
            num[j]+=i;
    scanf("%d",&n);
    for (int i=0;i<n;i++) 
    {
        int m;
        scanf("%d",&m);
        printf("%dn",num[m]);
      }
return 0;
}

解析

暂无

hustoj

发表评论 取消回复

邮箱地址不会被公开。 必填项已用*标注

*
*


hoxis wechat
著作权归作者所有
站点更新说明
  • 文章目录
  • 站点概览
若是凉夜已成梦

若是凉夜已成梦

青春里 总有些事情要努力去做 总有些梦想要拼命去追。

1904 日志
6 分类
12 标签
RSS
weibo github twitter facebook

友情链接

Skip Dreams孤独患者 原站点
© 2017 若是凉夜已成梦
Powered by WordPress | 已运行
Theme By NexT.Mist