题目描述
YYH拥有一个有n个城市的国家,编号为1~n。其中城市i到城市j的路径长度为i和j的最小公倍数。现在YYH想建一些高速公路,使得任意两座城市都能通过高速公路直接或间接到达。建造一条高速公路的代价为这条高速公路的长度,他想知道最小代价是多少?
输入输出格式
输入格式:
第一行输入一个整数,T,表示有T组数据。
接下来T行每行输出一个整数n,表示有n个国家
输出格式:
输出T行,每行一个数字表示最小代价
好吧,这道题还是结论题,
我们很容易就发现如果所以点都向1连边,那么答案一定最优。
所以我们只要计算2+3+4+5+...+n即可。
记住!不要智障地用for循环!
等差数列!!
#include<iostream>
#include<cstdio>
using namespace std;
long long t,n,num;
unsigned long long ans;
int main(){
scanf("%d",&t);
for(int i=;i<=t;i++)
{
ans=;
scanf("%d",&n);
ans=(+n)*n/-;
printf("%lld\n",ans);
}
}