• P1403 [AHOI2005]约数研究


    原题链接 https://www.luogu.org/problemnew/show/P1403

    这个好难啊,求约数和一般的套路就是求1--n所有的约数再一一求和,求约数又要用for循环来判断......恩~~......貌似很简单,看一下n的范围:100%N<=1000000......额,看来要炸

    那么怎么办呢?这时候我们就要用玄学啦当然要耐心枚举几个数找找规律啦!

    从洛谷题解里看到一位大佬的约数表,再看他详细的解释,终于明白了这个题的玄学所在,放约数图!!!

     

    我们通过这个表可以发现: 在1--n这n个数中有n/1个数是1的倍数,有n/2个数是2的倍数,有n/3个数是3的倍数........有n个数是n的倍数(c++中‘/’会省略小数取整型)

    所以问题的解就是n/1+n/2+n/3+.......+n/n

    代码如下:

    #include<iostream>
    #include<cstdio>
    #include<math.h>
    using namespace std;
    int n,sum=0;
    int main()
    {
    int n,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    sum+=n/i;
    cout<<sum;
    return 0;
    }
  • 相关阅读:
    jenkins for xcode
    时间你懂的,
    插件,
    basic ,token添加
    上火啊,替换字符串,HTML,
    shell
    不可深究啊,
    看着 自己都感觉 恶心的代码,
    Tab切换效果
    jar -- java文档归档工具
  • 原文地址:https://www.cnblogs.com/xcg123/p/10548715.html
Copyright © 2020-2023  润新知