码迷,mamicode.com
首页 > 其他好文 > 详细

ZZNU 正约数之和

时间:2018-05-21 01:05:12      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:i++   个数   题目   toggle   main   data   put   stream   数字   

F : 正约数之和

 
Progress Bar

时间限制:1 Sec 内存限制:128 MiB
提交:267 答案正确:93

 

 


题目描述

我们把f(i)表示为i的正约数的和,而我们要求的是1<=i<=n之间所有i的f(i)之和!

输入

先输入一个正整数T,表示T个这是数据。T(T<=50)
每行输入一个正整数n。(n<10^6)

输出

输出一个数字,表示所求的数。

样例输入

复制
3
5
12
2018

样例输出

复制
21
127
3350309
    #include <iostream>
    using namespace std;
     
    int main() {
        int T, n;
        cin >> T;
        while(T--) {
          cin >> n;
          long long ans = 0;
          for(int i=1; i<=n; i++) {
              ans += n/i*i;
          }
          cout << ans << endl;
        }
        return 0;
    }
# include <stdio.h>
# include <string.h>


int a[1300001];


int main(void)
{
    int i, j;
            //把每个数的约数存在数组里。
    for (i = 1; i <= 7000000; i ++)
    {
        for (j = i; j <= 1300000; j = j+i)
        {
            a[j] += i;
        }
    }
    int t, n;
    long long sum;
    scanf("%d", &t);
    while (t --)
    {
        sum = 0;
        scanf("%d", &n);
        for (i = 1; i <= n; i ++)
            sum += a[i];
        printf("%lld\n", sum);
    }
    return 0;
}

 

ZZNU 正约数之和

标签:i++   个数   题目   toggle   main   data   put   stream   数字   

原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/9065209.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!