最小公倍数最大,也就是尽量让2个数互质,所以把n除以2 从中间向两边找就够了,自己写几组数据就能发现规律。
注意longlong存
#include#include #include #include using namespace std;int main(){ int cas; long long s,n; cin>>cas; while(cas--) { cin>>n; if(n==2) s=1; else { if(n&1) { n>>=1; s=n*(n+1); } else { n>>=1; s=(n&1)?(n-2)*(n+2):(n-1)*(n+1); } } cout< <