acm一道很简单的数论题,求拯救

问题描述:

acm一道很简单的数论题,求拯救
Description
给你N个正整数,求两两之差的绝对值之和.
比如有4个数分别为 3,2,6,5,
|3-2| + |3-6| + |3-5| + |2-6| + |2-5| + |6-5| =14
Input
测试有很多组,对于每一组测试:
第一行为一个正整数 N( 2
1个回答 分类:数学 2014-12-03

问题解答:

我来补答
#include
#include
int num[20000];
int cmp(const void* a, const void* b)
{
return *((int*)a) - *((int*)b);
}
int main()
{
int i,n,sum;
while(scanf("%d",&n)==1)
{
sum = 0;
for(i=0;i
再问: 为啥是sum+=(num[i]-num[i-1])*i*(n-i)呢
再答: 对于第i段线段来说,左边有i个点,右边有(n-i)个点 所以一共有i*(n-i)那么多的“距离”包含了这个线段
 
 
展开全文阅读
剩余:2000
上一页:不是奥数题