博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3090 Visible Lattice Points 欧拉函数
阅读量:6227 次
发布时间:2019-06-21

本文共 621 字,大约阅读时间需要 2 分钟。

#include <iostream>

#include <cmath>
using namespace std;

//点(x,y)可见当且仅当x,y互质,那么我仅仅只要知道

int euler(int x)
{// 就是公式
int i, res=x,tmp;
tmp= (int)sqrt(x * 1.0) + 1;
for (i = 2; i <tmp; i++)
if(x%i==0)
{
res = res / i * (i - 1);
while (x % i == 0) x /= i; // 保证i一定是素数
}
if (x > 1) res = res / x * (x - 1);
return res;
}

int main()

{
int t;
cin>>t;
for(int i = 1; i <= t;i++){
int num;
cin>>num;
long long ans=0;
//ans=(euler(1)+euler(2)+...+euler(n))*2+1
for(int i = 1;i <= num;i++){
ans+=euler(i);
}
cout<<i<<" "<<num<<" "<<ans*2+1<<endl;
}
return 0;
}

//点(x,y)可见当且仅当x,y互质

转载于:https://www.cnblogs.com/tianxia2s/p/3863208.html

你可能感兴趣的文章
Node.js:回调函数
查看>>
python 发送邮件 <QQ+腾讯企业邮箱>
查看>>
细数JDK里的设计模式
查看>>
Linux~上部署.net MVC出现的问题与解决
查看>>
DDD~充血模型和失血模型
查看>>
android DPI与分辨率的关系及计算方式
查看>>
forward_list
查看>>
伪分布式网络爬虫框架的设计与自定义实现(一)
查看>>
解决npm ERR! Unexpected end of JSON input while parsing near的方法汇总
查看>>
MySQL 入门
查看>>
js的操作及css样式
查看>>
bootstrapValidator关于js,jquery动态赋值不触发验证(不能捕获“程序赋值事件”)解决办法...
查看>>
数据库设计基础>范式
查看>>
POJ 3461 Oulipo(模式串在主串中出现的次数)
查看>>
Openstack的镜像属性
查看>>
【分享】用Canvas实现画板功能
查看>>
C++走向远洋——46(教师兼干部类、多重继承、派生)
查看>>
spring IOC源码分析(1)
查看>>
「深入理解计算系统」从Hello World开始
查看>>
手写Json转换
查看>>