链接:https://ac.nowcoder.com/acm/contest/3402/C
来源:牛客网
题目描述:
一次周六新生训练后,一个师妹来找JAJA_Xin。
师妹:“师兄,为什么今天我对面那个师兄那么冷漠。”
JAJA_Xin:“噢你居然还不认识大名鼎鼎的魏队,正常啦,魏队很傲的,因为你们太菜,所以你懂的。”
师妹:“那怎么才能让那个师兄觉得我不菜,你可以帮我去问问吗?”
乐于助人的JAJA_Xin怎么可能拒绝师妹呢,跑去问魏队。
魏队:“简单啊,我出一道题,能做出来就不算很菜了,就出一道数学题吧,简单一点,让他们可以做。”
Ra = [ (a−1)n + (a+1)n ] %a2 ,(n>0)
例如当a=4, n=2时,Ra=32 +52 =34,而34%16 =2,故Ra=2。由于n可以是任意大于0的正整数,所以存在很多Ra的解,找到任意一个Ra就算做出来这道题。例如,当a=4的时候,Ra的取值可以是2或者是8。
“你怎么这么有空还管闲事,不赶紧去补题吗…”,JAJA_Xin被魏队一顿说了之后闷闷不乐,不小心就把原题意记成了要找到最大的Ra才能算做出来这道题,并把修改的题意后和师妹说了,这可难到他们了。例如,当a=4的时候,Ra_max=8。
输入描述:
多测试用例,用例不超过10000个。
每个用例有一行数据,一个整数a (3≤a≤1000000)。
输出描述:
对于每个用例输出一行,Ra_max。
输入样例:
4
7
输出样例:
8
42
核心思想:
结论题
a为奇数,输出a*(a-1)
a为偶数,输出a*(a-2)
代码如下:
#include<cstdio>
#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
ll n;
while(~scanf("%lld",&n))
printf("%lld\n",n&1?n*(n-1):n*(n-2));
return 0;
}