zoj 3175 Number of Containers (大数灵活题,除2改成平方根)
2015-04-09 16:26
274 查看
For two integers m and k, k is said to be a container of m if k is divisible by m. Given 2 positive integers n and m (m < n), the function f(n, m) is
defined to be the number of containers of m which are also no greater than n. For example, f(5, 1)=4, f(8, 2)=3, f(7, 3)=1, f(5, 4)=0...
Let us define another function F(n) by the following equation:
Now given a positive integer n,
you are supposed to calculate the value of F(n).
Input
There are multiple test cases. The first line of input contains an integer T(T<=200) indicating the number of test cases. Then Ttest cases follow.
Each test case contains a positive integer n (0 < n <= 2000000000) in a single line.
Output
For each test case, output the result F(n) in a single line.
Sample Input
Sample Output
defined to be the number of containers of m which are also no greater than n. For example, f(5, 1)=4, f(8, 2)=3, f(7, 3)=1, f(5, 4)=0...
Let us define another function F(n) by the following equation:
Now given a positive integer n,
you are supposed to calculate the value of F(n).
Input
There are multiple test cases. The first line of input contains an integer T(T<=200) indicating the number of test cases. Then Ttest cases follow.
Each test case contains a positive integer n (0 < n <= 2000000000) in a single line.
Output
For each test case, output the result F(n) in a single line.
Sample Input
2 1 4
Sample Output
0 4 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3216 本质就是求(n/1+n/2+...+n/n-1)-n的值 数字太大,不能用n/2,只能用平方根(这个在比赛的时候完全想不到。。) 推导过程:比如 n=10 =1*10 =2*5 =3*3 10-5=5,5-3=2 然后我们又惊奇地发现最后的结果10,5,3,2,2,1,1,1,1,1 1有5个,2有2个,于是找到规律。 但是对于像8这样的数字来说,还有两个数字没有赋值到,于是sum+=未赋值个数*当前的b 其他方法:/article/2411221.htmlint main(){ int t; cin>>t; while(t--){ ll n; cin>>n; ll s=0; ll a=n,b=1,c=1; for(ll i=2;i*i<=n;++i){ s+=n/i+(a-n/i)*b; c+=a-(n/i)+1; b++; a=n/i; } s+=(n-c)*b; cout<<s<<endl; } return 0; }
相关文章推荐
- zoj 3175 Number of Containers 分块加速
- ZOJ 3175 Number of Containers 【数学图像性质(一个常见算式的经典计算)】
- zoj 3175 Number of Containers
- zoj 3175 Number of Containers (nbut1375) 计算n /1+n/2+n/3+n/4....+n/n
- ZOJ - 3175 Number of Containers
- TOJ 2909 ZOJ 3175 Number of Containers / 数论
- ZOJ 3175 Number of Containers(n/1+n/2+...+n/(n-1)+n/n求法)
- zoj 3175 Number of Containers(数论~)
- Number of Containers [ZOJ 3126]
- ZOJ 2523 —— Number of People(数论,胡搞)
- LeetCode解题报告—— Container With Most Water & 3Sum Closest & Letter Combinations of a Phone Number
- 2013年7月23号:大数的加与乘I-number&&Power of Cryptography
- zoj 1180 Self Numbers(大数,灵活题)
- SGU 407 Number of Paths in the Empire dp+java大数
- Watermelon Full of Water - ZOJ 3632 dp+线段树
- Letter Combinations of a Phone Number
- 欧拉项目 Problem 12 of What is the value of the first triangle number to have over five hundred divisors
- ZOJ 1007 Numerical Summation of a Series
- maximum number of expressions in a list is 1000
- Float and the form of expression of floating-point number in memory