UVA 10214 Trees in a Wood

https://vjudge.net/problem/UVA-10214

 

题意:你站在原点,每个坐标位置有一棵高度相同的树,问能看到多少棵树

 

ans=Σ gcd(x,y)=1

欧拉函数搞搞

 

 

复制代码
#include<cstdio>
#include<algorithm>
using namespace std;
int phi[2001],p[2001],sum[2001],cnt;
bool v[2001];
int main()
{
    phi[1]=1;
    for(int i=2;i<=2000;i++)
    {
        if(!v[i])
        {
            p[++cnt]=i;
            phi[i]=i-1;
        }
        for(int j=1;j<=cnt;j++)
        {
            if(i*p[j]>2000) continue;
            v[i*p[j]]=true;
            if(i%p[j]) phi[i*p[j]]=phi[i]*(p[j]-1);
            else
            {
                phi[i*p[j]]=phi[i]*p[j];
                break;
            }
        }
    }
    int a,b; long long ans;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
        if(!a) return 0;
        ans=0;
        ans+=b+1;
        for(int i=2;i<=a;i++) 
        {
            ans+=1ll*b/i*phi[i];
            for(int j=b/i*i+1;j<=b;j++) ans+=__gcd(i,j)==1;
        }
        ans<<=2;
        printf("%.7lf\n",1.0*ans/(1ll*a*b*4+2*(a+b)));
    }
}
复制代码

 

posted @   TRTTG  阅读(294)  评论(0编辑  收藏  举报
编辑推荐:
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
阅读排行:
· 为DeepSeek添加本地知识库
· 精选4款基于.NET开源、功能强大的通讯调试工具
· DeepSeek智能编程
· 大模型工具KTransformer的安装
· [计算机/硬件/GPU] 显卡
点击右上角即可分享
微信分享提示