回 帖 发 新 帖 刷新版面

主题:[讨教、讨论]一道复赛第二题。分数大大的有!

题目如下:
[B]2.设有N个正整数(N≤20),将它们连成一排,组成一个最大的多位整数。
  例如:N=3时,3个整数13、312、343连成的最大整数为:34331213;
  又如:N=4时,4个整数7,13,4,246连成的最大整数为:7424613;
输入:N
   N个数
输出:连成的多位数。[/B]
我忘了这是哪一年的题了.

我总是不能讨论完全,谁能告诉我该怎么做?


我并不需要源代码,只要算法就行了,但要保证:
·能保证正确性。
·具有较强的通用性,可计算性。
·表述清楚。

至于评分,我是这样的:
 0分:没有任何算法,或算法完全不正确,或算法根本无法令人所理解,或已有人在之前提出与之类似或相同的算法。
10分:能提供正确的算法,但几乎没有可行性。或所提供的算法有较多错误。
20分:能提供较为完善、可行的算法,但有少数错误。
30分:算法正确且具有较强的可行性。

回复列表 (共16个回复)

11 楼

7楼:+是数字运算还是字符串相连?

12 楼

9楼:
你那个要是对了我从四楼跳下去(一阶一阶的).

13 楼

[quote]7楼:+是数字运算还是字符串相连?[/quote]

是字符窜相连

楼主可以跳了[em66][em66]
不信你调试一下,错了我跳~~~~~~~

14 楼

for i[B]:=[/B]1 to n-1 do
  for j:=i+1 to n do
if s[i]+s[j]<s[j]+s[i]
then begin
t:=s[i];
s[i]:=s[j];
s[j]:=t;
end;

??变量类型?

15 楼

s:array[1..1000]of string;

16 楼

7楼正解
+为字符串连接
其实把这些数字排序(字符串)后链接即可
因为首位越大放在越前,所以把数字当字符串排序后链接即可。
例如:
12  122
排序后
122 12
链接
12212

楼主的例子:
例如:N=3时,3个整数13、312、343连成的最大整数为:34331213;
  又如:N=4时,4个整数7,13,4,246连成的最大整数为:7424613;
13 312 343
排序后
343 312 13
链接
34331213

7 13 4 246
排序后
7 4 246 13
链接
7424613

我来回复

您尚未登录,请登录后再回复。点此登录或注册