bzoj 1041: [HAOI2008]圆上的整点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj 1041: [HAOI2008]圆上的整点相关的知识,希望对你有一定的参考价值。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<cmath>
 4 using namespace std;
 5 int sum;
 6 long long R;
 7 bool pan(int a1,double a4)
 8 {
 9     int a2=floor(a4);
10     if(a2!=a4)
11       return 0;
12     int a3=a1%a2;
13     for(;a3;)
14       {
15         a1=a2;
16         a2=a3;
17         a3=a1%a2;
18       }
19     if(a2==1&&a1!=a2)
20       return 1;
21     return 0;
22 }
23 int main()
24 {
25     scanf("%lld",&R);
26     for(int i=1;i<=sqrt(2*R);i++)
27       if((2*R)%i==0)
28         {
29            for(int a=1;a<=sqrt((2*R)/(2*i));a++)
30              if(pan(a,sqrt(((2*R)/i)-a*a)))
31                sum++;
32            if((2*R)/i!=i)
33              for(int a=1;a<=sqrt(i/2);a++)
34                if(pan(a,sqrt(i-a*a)))
35                  sum++; 
36         }
37     printf("%d\n",4*sum+4);
38 }

这是个脑洞大开的数学题 http://blog.csdn.net/csyzcyj/article/details/10044629

以上是关于bzoj 1041: [HAOI2008]圆上的整点的主要内容,如果未能解决你的问题,请参考以下文章

bzoj 1041: [HAOI2008]圆上的整点

BZOJ1041 [HAOI2008]圆上的整点

BZOJ 1041: [HAOI2008]圆上的整点

bzoj1041 [HAOI2008]圆上的整点

BZOJ 1041: [HAOI2008]圆上的整点

bzoj1041[HAOI2008]圆上的整点 数论