LS 15 Divisor counting (Easy)(数论)
来源:互联网 发布:最幸福的人网络歌手 编辑:程序博客网 时间:2024/06/15 01:06
Divisor counting (Easy)
Let
Compute
Input
An integer
Output
The sum.
Sample input
5
Sample output
10
思路:
计算 [1, X]区间内所有数字的因子个数之和这个等价于X / 1 + X / 2 + ... + X / X,
这里注意是整除,直接暴力(O(X)超时),所以就要分段求;
例如:X/[i………j]==X[k](i<=k)<=j,没必要i……..j都求一次,(详情看代码1)
#include<iostream>#include<cstring>using namespace std;int sum;int n;int main(){ int x; while(cin>>n) { sum=0; for(int i=1;i*i<=n;i++) { ///能被i整除的数有多少个 x=n/i; sum+=x; if(x^i) {///能被x+k[0,z]整除为i的数有多少个 sum+=i*(x-n/(i+1)); } } cout<<sum<<"\n"; }}
- LS 15 Divisor counting (Easy)(数论)
- LS 2 Xor(数论)
- Hdu 5207 Greatest Greatest Common Divisor(数论)
- hdu 5207 Greatest Greatest Common Divisor(数论)
- A. k-th divisor(水题,数论,sqrt运用)
- HDU6070 Counting Divisors(数论)
- BZOJ2082: [Poi2010]Divine divisor 数论
- HDOJ-3240 Counting Binary Trees(数论)
- HDU 5439 Aggregated Counting(数论+二分)
- HDU 6069 Counting Divisors(数论)
- TOJ 3349 Counting Divisor / 素数筛选法
- hdu2601 An easy problem(数论)
- HDU 2601 An easy problem (数论)
- SGU 117 Counting 数论
- HDU_6069 Counting Divisors 【数论】
- LS 38 Geometric sum(数论+二分快速幂)
- UVA 11401 - Triangle Counting(数论+计数问题)
- POJ 2282 && HDU 1663 The Counting Problem(数论)
- trim()方法
- Android 线性布局:LinearLayout
- 变量
- 深入理解Oracle表(6):堆组织表(HOT)和索引组织表(IOT)的区别
- Stanford公开课之算法:设计与分析——II.渐进式分析(第一周)
- LS 15 Divisor counting (Easy)(数论)
- 通过img标签调用实现静态页面访问次数统计的简单方法
- 2013寒假练习 1030:Knight Moves
- c语言解析系列(1)输入和输出
- 剑指offer-->面试题6 重建二叉树
- c语言解析系列(2)选择语句
- TCL语言相关
- c语言解析系列(3)循环和数组
- c语言解析系列(4)函数