zoukankan      html  css  js  c++  java
  • 洛谷试炼场-简单数学问题-P1403 [AHOI2005]-因数

    洛谷试炼场-简单数学问题

    P1403 [AHOI2005]约数研究

    Description

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

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

    Input

    输入一行,一个整数n

    Output

    输出一个整数,表示总和

    Sample Input

    3

    Sample Output

    5

    Hint

    【数据范围】

    20%N<=5000

    100%N<=100000
    普及组

    题解:

    如果单独一个数或者某些数的约数,应该是用唯一分解定律,看其质数的因子,最后排列组合一下。
    重点在于一个公式:
    f(i)=n/i
    至于公式是怎么推出来的:
    1-n的因子个数,可以看成共含有2因子的数的个+含有3因子的数的个数……+含有n因子的数的个数但在1~n中含有“2”这个因子的数有n/2个,3有n/3个,以此类推,公式就出来了

    代码

    #include <iostream>
    #include<cmath>
    using namespace std;
    
    int main()
    {
        int n;
        long long sum=0;
    cin>>n;
    for(int i=1;i<=n;i++)
        sum+=n/i;
    cout<<sum<<endl;
    }
    
    
    
    不疯魔不成活
  • 相关阅读:
    css学习总结
    bootstrap的学习总结
    一些组件配置的理解
    php 微信公众号支付(小程序也是这么支付的)
    mysql 链接超过ip限制时的报错
    php生成二维码
    wamp配置虚拟主机 php 5.6.25
    php 渣全的循环
    4、kafka、spark streaming
    gauss消元
  • 原文地址:https://www.cnblogs.com/gzr2018/p/9781829.html
Copyright © 2011-2022 走看看