[Beijing wc2012]算不出的算式

OJ题号:BZOJ2659

思路:数学。

建立平面直角坐标系。在第一象限作直线y=qx/p,易得Σ[kq/p]即为当x<(p/2)时,直线下方(包括直线)的整点数;Σ[kp/q]为当y<(q/2)时,直线上方(包括直线)的整点数。因此答案即为(p-1)*(q-1)/4。注意当p==q时,要将直线上的点算两遍。

1 #include<cstdio>
2 int main() {
3     long long p,q;
4     scanf("%lld%lld",&p,&q);
5     printf("%lld\n",(p==q)?((p*p-1)>>2):(((p-1)*(q-1))>>2));
6     return 0;
7 }

 

posted @ 2017-06-06 16:43  skylee03  阅读(130)  评论(0编辑  收藏  举报