zoukankan      html  css  js  c++  java
  • 【BZOJ】【1968】【AHOI2005】COMMON 约数研究

    数论


      原谅我这么傻逼的题都不会做……

      或许写成数学公式的形式比较容易想到解法?

      $$ans=sum_{i=1}^n sum_{d|i} 1$$

      ……是不是感觉很水呀……是吧……改成先枚举d再枚举 i 看看……

      $$ans=sum_{d=1}^n sum_{d|i} 1=sum_{d=1}^n lfloorfrac{n}{d} floor$$

      果然我是个傻逼……

     1 /**************************************************************
     2     Problem: 1968
     3     User: Tunix
     4     Language: C++
     5     Result: Accepted
     6     Time:32 ms
     7     Memory:804 kb
     8 ****************************************************************/
     9  
    10 #include<cstdio>
    11 int main(){
    12     int n,ans=0;
    13     scanf("%d",&n);
    14     for(int i=1;i<=n;i++) ans=ans+n/i;
    15     printf("%d
    ",ans);
    16     return 0;
    17 }
    18 
    View Code

    1968: [Ahoi2005]COMMON 约数研究

    Time Limit: 1 Sec  Memory Limit: 64 MB
    Submit: 1174  Solved: 884
    [Submit][Status][Discuss]

    Description

    Input

    只有一行一个整数 N(0 < N < 1000000)。

    Output

    只有一行输出,为整数M,即f(1)到f(N)的累加和。

    Sample Input

    3

    Sample Output

    5

    HINT

    Source

    [Submit][Status][Discuss]
  • 相关阅读:
    hdu 3832 Earth Hour
    hdu 2112 HDU Today
    hdu 2473 Junk-Mail Filter
    hdu 1558 Segment set
    5-2学习记录|5-3日
    看面经
    2020-5-1学习记录
    2020-4-30学习记录
    2020-4-27学习记录
    4.19日学习笔记
  • 原文地址:https://www.cnblogs.com/Tunix/p/4557536.html
Copyright © 2011-2022 走看看