zoukankan      html  css  js  c++  java
  • P1403 [AHOI2005]约数研究(筛法)

    题目描述

    科学家们在 Samuel 星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机 Samuel II 的长时间运算成为了可能。由于在去年一年的辛苦工作取得了不错的成绩,小联被允许用 Samuel II 进行数学研究。

    小联最近在研究和约数有关的问题,他统计每个正数 NNN 的约数的个数,并以 f(N)f(N)f(N) 来表示。例如 121212 的约数有 1,2,3,4,6,121,2,3,4,6,121,2,3,4,6,12,因此 f(12)=6f(12)=6f(12)=6。下表给出了一些 f(N)f(N)f(N) 的取值:

    NNN111222333444555666
    f(N)f(N)f(N) 111 222 222 333 222 444

    现在请你求出:

    ∑i=1nf(i)sum_{i=1}^n f(i) i=1nf(i)

    输入格式

    输入一个整数 nnn。

    输出格式

    输出答案。

    输入输出样例

    输入 #1
    3
    
    输出 #1
    5
    类似筛质数的过程,这里换成给对应位置++。最后求一个前缀和就行。
    #include <bits/stdc++.h>
    using namespace std;
    int a[1000006]={0};//?不管用 
    int main()
    {    
        int n;
        cin>>n;
        int i,j;
        for(i=1;i<=n;i++)
        {
            for(j=1;i*j<=n;j++)
            {
                a[i*j]++;
            }
        }
        for(i=1;i<=n;i++)a[i]+=a[i-1];
        cout<<a[n];
        return 0;
    }
  • 相关阅读:
    2、变量
    1、基本的数据类型
    jenkins入门
    我的Python基础笔记
    jmeter测试手机app
    Python:字典
    Python:元组
    Python:列表
    Python:函数
    H3C-L2TP
  • 原文地址:https://www.cnblogs.com/lipoicyclic/p/12422014.html
Copyright © 2011-2022 走看看