poj_3090_欧拉函数
2015-08-01 13:50
363 查看
水,只需要知道(X,Y)点为端点对应的线上的点的个数是gcd(x,y)+1(这里包含了两个端点),知道之后就欧拉函数走起
[code]#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <set> #include <queue> #include <map> using namespace std; #define MAX(x,y) (((x)>(y))?(x):(y)) #define MIN(x,y) (((x)<(y))?(x):(y)) #define N 500010 #define pi acos(-1.0) #define inf 100000000 typedef long long ll; typedef unsigned long long ull; int phi[1010]; void phi_table(int n){ for(int i=2;i<=n;i++) phi[i]=0; phi[1]=1; for(int i=2;i<=n;i++){ if(!phi[i]) for(int j=i;j<=n;j+=i){ if(!phi[j]) phi[j]=j; phi[j]=phi[j]/i*(i-1); } } } ll ans[1010]; int main(){ phi_table(1000); for(int i=1;i<=1000;i++) ans[i]=ans[i-1]+phi[i]; int t,n; scanf("%d",&t); for(int count=1;count<=t;count++){ scanf("%d",&n); printf("%d %d %lld\n",count,n,ans *2+1); } return 0; }
相关文章推荐
- 最长公共子序列问题(要求输出路径)
- 内部类
- linux系统配置Apache虚拟主机实例
- FTP使用MariaDB完成虚拟用户认证
- sqlcoder
- linux中图形界面改成文本
- 求一棵二叉树的宽度
- Java日志框架——基本概念
- Spring应用 - 2
- getView()执行次数问题(自己再次测试,顺便做个记录)-------再再次
- 敌兵布阵(树状数组)
- 二维码zxing源码分析(二)decode部分
- ural 1017
- HTML <input> 标签的 type 属性
- LeetCode "Different Ways to Add Parentheses"
- win7,linux双系统删除linux系统
- 二维向量:vector<vector<int>>
- hdu 1364 Illusive Chase
- Servlet 取表单的值
- linux高频率命令