Datahub
数据改变生活

2065: 小明的数表

发表时间:2022-10-27 20:09

2065: 小明的数表

时间限制: 1 Sec   内存限制: 128 MB

题目描述

数学老师昨天给小明布置了一道作业题:根据一张由N个正整数组成的数表,两两相加得到新数(共有N*(N-1)/2个),然后将新数按照升序排序。例如,如果数表里含有四个数1,3,4,9,那么正确答案是4,5,7,10,12,13。请你编程帮助小明完成这道题吧!

输入

  包含多组数据。每组数据有两行,第1行是一个整数N(0<N≤100),表示数表中的整数个数;第2行是数表中的N个整数(0≤整数≤5000),相邻整数间以一个空格分隔。输入的N个整数确保不重复。

输出

有多行。对应每行是一组按照升序排列的整数的和,相邻整数之间以一个空格分隔。

样例输入 Copy

4

1 4 3 9

样例输出 Copy

4 5 7 10 12 13

#include<bits/stdc++.h>

using namespace std;

int a[105],b[10005];

int n,cnt;

int main(){

scanf("%d",&n);cnt=0;

for(int i=1;i<=n;i++) scanf("%d",&a[i]);

for(int i=1;i<n;i++)for(int j=i+1;j<=n;j++) b[++cnt]=a[i]+a[j];

sort(b+1,b+1+cnt);

for(int i=1;i<=cnt;i++)

printf("%d ",b[i]);

cout<<endl;

return 0;

}


文章分类: 算法例题
分享到:
QQ:258506508                                     联系电话:020-000000    000-000000                                   联系邮箱:xxx@.co.m                                     联系地址:XXX省XXX市XXX县XXX路