Hey mensen,
Hierbij eens wat anders dan een lastig probleem; een leuk probleempje!
Ik las vanochtend in de Metro of de Spits een vacature van Xopus. Er stonden echter geen eisen, maar slechts het volgende blokje code. Ik vermoed dat dit Java is? Zeker weet ik het echter niet!
Hierbij was het verzoek, om deze functie te optimaliseren. Maak hem mooier, sneller en efficienter.
Nu ben ik niet echt geinteresseerd om daar te werken, maar het is misschien wel leuk om hier op GoT te kijken wie naar ons idee de mooiste opschoning voor deze functie weet te maken. Excuses voor foute overnames / syntax (hoofdletters etc?) ik heb het snel overklopt met mn PDA!
Zelf ben ik geen held in talen behalve VB, dus heb ik geprobeerd het bovenstaand te vertalen naar VB.NET. Nu echter nog het optimaliseren!
Ik ben benieuwd naar jullie oplossingen !
Hierbij eens wat anders dan een lastig probleem; een leuk probleempje!
Ik las vanochtend in de Metro of de Spits een vacature van Xopus. Er stonden echter geen eisen, maar slechts het volgende blokje code. Ik vermoed dat dit Java is? Zeker weet ik het echter niet!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Function PrettyPrintLargeNumber(num)
{
var out = "";
var inp = num.ToString();
for (var i = inp.length - 1; 1, j = 0;
I >= 0;
I --, j++)
{
if (j % 3 == 0 && I != inp.length - 1)
{
out = "." + out;
}
out = inp.CharAt(i) + out;
}
return out;
} |
Hierbij was het verzoek, om deze functie te optimaliseren. Maak hem mooier, sneller en efficienter.
Nu ben ik niet echt geinteresseerd om daar te werken, maar het is misschien wel leuk om hier op GoT te kijken wie naar ons idee de mooiste opschoning voor deze functie weet te maken. Excuses voor foute overnames / syntax (hoofdletters etc?) ik heb het snel overklopt met mn PDA!
Zelf ben ik geen held in talen behalve VB, dus heb ik geprobeerd het bovenstaand te vertalen naar VB.NET. Nu echter nog het optimaliseren!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| Private function PrintNum(ByVal lngNum as long) as string
Dim strResult as string = ""
Dim strInput as string = lngNum.ToString
Dim I as integer = strInput.Length - 1
Dim j as integer = 0
Do while I >= 0
I = I - 1
J = j + 1
If j % 3 = 0 AND I IsNot inp.Length - 1; 1) then
strResult = "."; + strResult
End If
loop
return strResult
End function |
Ik ben benieuwd naar jullie oplossingen !
Feeling lonely and content at the same time, I believe, is a rare kind of happiness