【bzoj2659】[Beijing wc2012]算不出的算式 数论

题目描述

,其中p和q是奇质数。

输入

只有一行,两个奇质数,分别表示p,q。

输出

一个数,表示算式结果。

样例输入


样例输出

6


题解

数论

神TM数学结论题。。。

当$p\neq q$时,考虑其几何意义:前面的那个式子是直线$y=\frac qpx$在$x\in [1,\frac{p-1}2]$范围内下方的点数,而后面的恰好是左方的点数。由于直线上显然没有点,因此表示出来就是矩形中的点的个数$\frac{p-1}2·\frac{q-1}2$。

当$p=q$时直接使用等差数列求和公式计算,答案为$\frac{(p-1)(p+1)}4$

#include <cstdio>
int main()
{
	long long p , q;
	scanf("%lld%lld" , &p , &q);
	if(p == q) printf("%lld\n" , (p - 1) * (p + 1) >> 2);
	else printf("%lld\n" , (p - 1) * (q - 1) >> 2);
	return 0;
}

 

 

posted @ 2017-10-23 20:44  GXZlegend  阅读(238)  评论(0编辑  收藏  举报