首页 > 代码库 > POJ 3090 欧拉函数
POJ 3090 欧拉函数
求一个平面内可见的点,其实就是坐标互质即可,很容易看出来或者证明
所以求对应的欧拉函数即可
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int phi[1010];int n;void calc(int x){ for (int i=2;i<=x;i++) phi[i]=0; phi[1]=1; for (int i=2;i<=x;i++){ if (!phi[i]) for (int j=i;j<=x;j+=i){ if (!phi[j]) phi[j]=j; phi[j]=phi[j]/i*(i-1); } }}int main(){ int t,kase=0; scanf("%d",&t); calc(1001); while (t--) { scanf("%d",&n); n; int ans=3; for (int i=2;i<=n;i++){ ans+=2*phi[i]; } //ans+=2*phi[n]; printf("%d %d %d\n",++kase,n,ans); }}
POJ 3090 欧拉函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。