NC200608. C-最大模数
描述
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。
示例1
输入:
4 7
输出:
8 42
C(clang 3.9) 解法, 执行用时: 8ms, 内存消耗: 368K, 提交时间: 2020-02-04 17:33:49
#include <stdio.h> int main(){ long long a; while(~scanf("%lld",&a)) printf("%lld\n",(a-1)/2*2*a); return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 30ms, 内存消耗: 508K, 提交时间: 2019-12-29 18:46:44
#include<iostream> using namespace std; int main(){ int a; while(cin>>a){ cout<<(a-1)/2*2*a<<endl; } }
C++14(g++5.4) 解法, 执行用时: 3ms, 内存消耗: 368K, 提交时间: 2020-08-28 14:37:13
#include<cstdio> main() { for(long n;~scanf("%ld",&n);) printf("%ld\n",n&1?n*(n-1):n*(n-2)); }