webForumDet fria alternativet

Skriv ut alla kombinationer av ett nummer

ASP

8 svar · 438 visningar · startad av Danielkun

Medlem sedan maj 2003361 inlägg
Frågan#1

Jag undrar hur man på mest simpelt sätt gör så att ett inmatat nummer (i mitt fall är det 4 siffror) blir utskrivet i alla möjliga siffer-kombinationer.

Skulle kunna köra en random som sparar ner möjliga kombinationer i en array och kör tills arrayen blir full men det känns inte som bra programering :)

Medlem sedan dec. 19996 721 inlägg
#2
getCombinations "1234"

sub getCombinations(value)
	set dict=Server.CreateObject("Scripting.Dictionary")
	getSubCombinations value,len(value),"",dict
	for each item in dict
	   response.write item & "<br>"
	next
end sub
sub getSubCombinations(value,targetlen,accum,dict)
	if len(accum)=targetlen then
		dict(accum)=""
	else
		for i=1 to len(value)
			getSubCombinations left(value,i-1) & mid(value,i+1),targetlen,accum & mid(value,i,1),dict
		next
	end if
end sub
Medlem sedan maj 2003361 inlägg
#3

TACK !
funkade alldeles perfekt!

Medlem sedan maj 2003361 inlägg
#4

Märkte en liten sak..

Det funkar perfekt förrutom om det 4 siffriga talet börjar på en 0'a. Hur får man den att acceptera en 0 som start siffra? :r

Medlem sedan dec. 20003 887 inlägg
#5

Ett tal börjar aldrig på noll... :OO

Jag ser inte varför 0-an inte skulle komma med. Det är ju en sträng som ska skickas in...

Medlem sedan maj 2003361 inlägg
#6

Tänkte ersätta månad Maj med 05 istället för 5.

Men när jag matar in 0517 så ignoerar den 0'an helt och resultatet blir bara de 3 återstående siffrorna:
517
571
157
175
751
715
:x

Medlem sedan dec. 19996 721 inlägg
#7

Du måste skicka in talet som en sträng, "0234"

Medlem sedan nov. 20017 144 inlägg
#8
din_int = 0322
Response.Write Right("0" & din_int,4)
Medlem sedan maj 2003361 inlägg
#9

Tack. Såg inte att en sträng skulle in där.

Förlåt att jag missa det Engine och tack igen emission!!

278 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)