Talk:Largest int from concatenated ints
Negative integers[edit]
These programs look like they can't handle negative integers. I don't know how to concatenate two integers if the second one is negative; "4" "-5" => "4-5" is not an integer. Perhaps the task should specify positive integers? Or non-negative integers, if "0" is allowed? --Kernigh (talk) 00:38, 4 April 2013 (UTC)
- Why can't zero be included? That is, allow non-negative integers. The programs (I think) won't barf if zero would be included in the list. -- Gerard Schildberger (talk) 23:28, 7 April 2016 (UTC)
- Well there is no need to wonder what a number with leading zeros is. Some conventions say ignore leading zeros on an int; others might treat it as signifying that the int should be considered as written in anther base, ... It's peripheral to the task, I guess you could state it as an extension to the task and how these leading zeroes are interpreted by your program, but you should have a first version that fits the task I would think. --Paddy3118 (talk) 19:00, 11 April 2016 (UTC)
Duplicates?[edit]
Paddy3118, please clarify whether the list may or may not include duplicates. --Nigel Galloway (talk) 11:02, 4 April 2013 (UTC) PS where have the edit buttons gone?
- Hi Nigel. Duplicates are not excluded. P.S. I assumed that the edit buttons were a (short term) casualty of the MW upgrade. Paddy3118 (talk) 16:09, 4 April 2013 (UTC)
- The Haskell entry that uses cycle goes in infinite loop if you feed it with numbers like 10 and 1010.-bearophile (talk)
On "Python: Compare repeated string method" Second entry for Python 2.6[edit]
Hi Spoon, Is it the case that the first entry does not work on Python 2.6:
- <lang python>def maxnum(x):
maxlen = len(str(max(x))) return .join(sorted((str(n) for n in x), reverse=True, key=lambda i: i*(maxlen // len(i) + 1)))</lang>
The second version seems to be quite complex - using Fractions and logs, and although I do not have a version of Python 2.6 to hand, I cannot think of what of the above would break 2.6?
Here's your second version:
- <lang python>from fractions import Fraction
from math import log10
def maxnum(x):
return .join(str(n) for n in sorted(x, reverse=True, key=lambda i: Fraction(i, 10**(int(log10(i))+1)-1)))</lang>
(P.S. thanks for catching my maxnumx
errors)! --Paddy3118 (talk) 06:19, 6 April 2013 (UTC)