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

题目描述

,其中p和q是奇质数。

输入

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

输出

一个数,表示算式结果。

样例输入


样例输出

6


题解

数论

神TM数学结论题。。。

当$p eq q$时,考虑其几何意义:前面的那个式子是直线$y=frac qpx$在$xin [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
" , (p - 1) * (p + 1) >> 2);
	else printf("%lld
" , (p - 1) * (q - 1) >> 2);
	return 0;
}

 

原文地址:https://www.cnblogs.com/GXZlegend/p/7718840.html