肇庆学院“菜鸟杯”---C题

C题 最大模数

在这里插入图片描述在这里插入图片描述(a-1) + (a+1) = 2a
(a-1)^2 + (a+1)^2 = 2a^2+2
(a-1)^3 + (a+1)^3 = 2a^3+6a
(a-1)^4 + (a+1)^4 = 2a ^4 + 12a^2 + 2
(a-1)^5 + (a+1)^5
= 2a^5 + 20a^3 + 10a

可知当n为偶数时对a^2求余都为2,只求n为奇数的时候,对n为奇数的情况,结果为2 * n * a,此时问题转化为 求2 * n * a %
( a² ) 的最大值。 初步判断,知道2 * n * a = a² 时n的取值,把n-1代入上式,结果就是最大值。 进一步,通过化简2 *
n * a = a² ,可以得到 n = a / 2。 故需要再考虑a的奇偶性: ①、当 a 为奇数的时候 由于 2 * n * a = 2

  • (a / 2) * a < a² , 所以不需要取n-1,此时Ra就是最大模数了。 最大模数就是 2 * ( a - 1 ) / 2 * a = a² - a 。 ②、当 a 为偶数的时候 由于 2 * n * a = 2 * (a / 2) * a = a² , 此时Ra =
    0,所以取n-1,即n = a / 2 - 1。 最大模数就是 2 * a * ( a / 2 - 1 ) = a² - 2 * a 。
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <set>
using namespace std;
typedef long long ll;
ll a; 
int main(){
	while(~scanf("%lld",&a)){
		if(a&1) printf("%lld\n",a*a-a);
		else printf("%lld\n",a*a-2*a);
	}
	return 0;	
}
发布了27 篇原创文章 · 获赞 0 · 访问量 345

猜你喜欢

转载自blog.csdn.net/weixin_44083561/article/details/103774813