首页 > 代码库 > UVALIVE 3571 Visible Lattice Points
UVALIVE 3571 Visible Lattice Points
就欧拉函数然后地推一下。
#include <map>#include <set>#include <list>#include <cmath>#include <ctime>#include <deque>#include <stack>#include <queue>#include <cctype>#include <cstdio>#include <string>#include <vector>#include <climits>#include <cstdlib>#include <cstring>#include <iostream>#include <algorithm>#define LL long long#define PI 3.1415926535897932626using namespace std;int gcd(int a, int b) {return a % b == 0 ? b : gcd(b, a % b);}int phi[1010];int ans[1010];void calcu(){ memset(phi,0,sizeof(phi)); phi[1] = 1; for (int i = 2; i <= 1000; i++) if (!phi[i]) for (int j = i; j <= 1000; j += i) { if (!phi[j]) phi[j] = j; phi[j] = phi[j] / i * (i - 1); } ans[1] = 3; ans[2] = 5; for (int i = 3; i <= 1000; i++) ans[i] = ans[i - 1] + phi[i] * 2;}int main(){ int kase = 1; int T; calcu(); scanf("%d",&T); while (T--) { int n; scanf("%d",&n); printf("%d %d %d\n",kase++,n,ans[n]); } return 0;}
UVALIVE 3571 Visible Lattice Points
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。