POJ 3090 Visible Lattice Points
2014-11-29 11:55
1216 查看
题目大意
我也说不清。解题思路
把题目模型转化为求gcd(a,b)=1的对数。这个题目较简单,求出前2~n的欧拉函数并计算前缀和,然后特别加个3就好
Code
#include <iostream> using namespace std; int totalprime; int prime[1000], v[1000], phi[1000], sum[1000]; void getprime(int n) { for (int i = 2; i < n; i++) { if (!v[i]) { prime[totalprime++] = i; phi[i] = i - 1; } for (int j = 0; j < totalprime && i * prime[j] < n; j++) { v[i * prime[j]] = 1; if (i % prime[j] == 0) { phi[i * prime[j]] = phi[i] * prime[j]; break; } else { phi[i * prime[j]] = phi[i] * (prime[j] - 1); } } } for (int i = 2; i < n; i++) sum[i] = sum[i - 1] + phi[i]; } int main() { ios::sync_with_stdio(false); getprime(1001); int t; cin >> t; for (int k = 1; k <= t; k++) { int n; cin >> n; cout << k << ' ' << n << ' ' << 2 * sum + 3 << endl; } }
相关文章推荐
- Poj3090 Visible Lattice Points 欧拉函数求和
- POJ 3090 Visible Lattice Points 欧拉函数
- POJ 3090 Visible Lattice Points
- poj 2478——Farey Sequence & poj 3090——Visible Lattice Points
- POJ 3090 Visible Lattice Points(莫比乌斯反演)
- 法雷级数(poj 3090 Visible Lattice Points)
- POJ 3090-Visible Lattice Points(筛选法求欧拉函数)
- POJ 3090 Visible Lattice Points (ZOJ 2777)
- POJ 3090 Visible Lattice Points[]
- POJ 3090 Visible Lattice Points | 其实是欧拉函数
- poj 3090 Visible Lattice Points 欧拉函数打表求和
- POJ 3090 Visible Lattice Points 布雷级数
- POJ 3090 Visible Lattice Points 欧拉函数
- poj3090 Visible Lattice Points(莫比乌斯反演)
- Visible Lattice Points POJ - 3090
- POJ 3090 Visible Lattice Points 【欧拉函数】
- POJ 3090 Visible Lattice Points (ZOJ 2777)
- POJ 3090 Visible Lattice Points (欧拉函数)
- poj 3090 Visible Lattice Points
- POJ 3090 Visible Lattice Points 笔记