FZU_2191_完美的数字(数论)
2015-05-03 21:01
288 查看
传送门:http://acm.fzu.edu.cn/problem.php?pid=2191
题型:数论
题意:中文题,不解释。
分析:
因为要求X = A*A*B且B>A,所以,如果单纯计算X的方法数的话,对A枚举到10^5就可以了。
对于区间[a,b],枚举³√b的数k,完美度为b/k² - (a-1)/k²,这里,b/k²≥k,但是(a-1)/k²可能<k,这样左边界其实应该是i-1
所以应该表述成 b/k² - max((a-1)/k² , i-1)
最后输出总和就可以了。
代码:
题型:数论
题意:中文题,不解释。
分析:
因为要求X = A*A*B且B>A,所以,如果单纯计算X的方法数的话,对A枚举到10^5就可以了。
对于区间[a,b],枚举³√b的数k,完美度为b/k² - (a-1)/k²,这里,b/k²≥k,但是(a-1)/k²可能<k,这样左边界其实应该是i-1
所以应该表述成 b/k² - max((a-1)/k² , i-1)
最后输出总和就可以了。
代码:
#include<iostream> #include<cmath> #include<cstring> #include<cstdio> #define LL __int64 using namespace std; int main() { LL a,b; while(~scanf("%I64d%I64d",&a,&b)){ LL ans = 0; for(LL i=1;i*i*i<=b;i++){ ans += ( b/(i*i) - max(i-1,(a-1)/(i*i)) ); } printf("%I64d\n",ans); } return 0; }
相关文章推荐
- ACM学习历程—FZU2191完美的数字(数学)
- FZU 2191 完美的数字 (水题)
- FZU-Problem 2191 完美的数字
- FZU-2191 完美的数字
- FZU - 2191 完美的数字
- FZU 2191 完美的数字 (暴力)
- FZU - 2191 完美的数字
- FZU 2191 完美的数字 <数学找规律>
- B - 完美的数字 FZU - 2191(思路题)
- FZU 2191 完美的数字 (数学啊)
- FZU-Problem 2191 完美的数字
- FZU 2191 完美的数字
- FZU 2191 完美的数字(暴力变思维)
- FZU - 2191 完美的数字
- B - 完美的数字 FZU - 2191
- FZU 2191 完美的数字
- Problem 2191 完美的数字
- [水+数学] fzu oj 2193 So Hard and 2191 完美的数字
- 福州大学第十二届程序设计竞赛 B.完美的数字(2191)
- foj 2191 完美的数字