wie oft kann man ein wort umstellen?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Ofenrohr

Betreff: wie oft kann man ein wort umstellen?

BeitragFr, Apr 01, 2005 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich hab mich gelangweilt und mir fragen gestellt, von denen die welt abhängt...

so z.B. wie man sich ausrechnen kann wie oft man ein wort mit 3 buchstaben umstellen kann. also

den
dne
ned
nde
edn
end

6x

nun ist die frage, wie man das also formel darstellen kann...
leider war es mir nur möglich das ganze mit einer schleife in bb zu lösen...
die ist wie folgt.

BlitzBasic: [AUSKLAPPEN]

l% = 1
b% = 1
Repeat

m% = b * l

b = b + 1
l = m

Print \"Bei \"+Str(b-1)+\" Buchstaben gibt es \"+m+\" Möglichkeiten.\"

Until b-1 = 15

WaitKey

End



kurze erklärung:
b = buchstaben die das wort insgesammt hat
m = möglichkeiten, wie oft man die umstellen kann
l = möglichkeiten, die es gibt, wenn das wort einen buchstaben weniger hätte.

darauf kommt man wie folgt: möglichkeiten = anzahl_wie_oft_ein_buchstabe_vorne_steht * Buchstaben_des_wortes

und anzahl_wie_oft_ein_buchstabe_vorne_steht ist immer die anzahl der umstellmöglichkeiten bei einem wort mit einem buchstaben weniger.

nun zu meiner frage: kann man diese schleife auch anders z.B. als formel lösen?

hoffenlich hab ich mich nicht zu kompliziert ausgedrückt, sodass mir niemand antwortet...

mfg ofenrohr
Ofenrohr.net

tyty

BeitragFr, Apr 01, 2005 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
als erstes hast du 3möglich keiten dann 2 dann 1 also 3x2x1
oder mit 4 4x3x2x1
User posted image

Kaikille suomea puhuville ihmisille: tyty = tyty the technical youngster!!!

Ofenrohr

BeitragFr, Apr 01, 2005 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
aber das lässt sich leider nicht als eine zeile darstellen...
das was du da sagst habe ich ja bereits mit bb gemacht
Ofenrohr.net
 

Timo

BeitragFr, Apr 01, 2005 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
wo wir denn bei der Fakultät währen Wink
 

David

BeitragFr, Apr 01, 2005 13:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Doch guck... eine Zeile!

Code: [AUSKLAPPEN]

x = n!


Wenn n die Anzahl der Buchstaben ist.

Also:
BlitzBasic: [AUSKLAPPEN]

Function Fakultaet( n% )
x% = 1

For i% = n To 1 Step -1
x = x * i
Next

Return x
End Function


grüße
  • Zuletzt bearbeitet von David am Fr, Apr 01, 2005 13:39, insgesamt 2-mal bearbeitet
 

noir

BeitragFr, Apr 01, 2005 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
rekursiv:

BlitzBasic: [AUSKLAPPEN]



anzahl = Len(\"abc\")

Print fac(anzahl)

Function fac(zahl)
If zahl = 0 Then Return 1
Return (zahl * fac(zahl-1))
End Function

WaitKey

Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
  • Zuletzt bearbeitet von noir am Fr, Apr 01, 2005 13:29, insgesamt einmal bearbeitet

Ofenrohr

BeitragFr, Apr 01, 2005 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ahhhh, danke euch allen!!!

Very Happy Very Happy Very Happy
Very Happy Very Happy Very Happy
Very Happy Very Happy Very Happy
Ofenrohr.net
 

noir

BeitragFr, Apr 01, 2005 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
oder vielleicht einfacher zu verstehen als schleife:

BlitzBasic: [AUSKLAPPEN]

anzahl = Len(\"abc\")


fakultaet = 1
loop = anzahl

While loop => 1
fakultaet = fakultaet * loop
loop = loop - 1
Wend

Print fakultaet

Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
 

David

BeitragFr, Apr 01, 2005 13:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

s.O. Wink

BlitzBasic: [AUSKLAPPEN]

While loop => 1


Sowas geht in BlitzBasic? Das ist ja nahezu verwerflich... Shocked

grüße
 

noir

BeitragFr, Apr 01, 2005 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
blitzbasic bringt einem immer wieder zum erstaunen, wie Wink
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
 

David

BeitragFr, Apr 01, 2005 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Naja... Staunen würde ich darüber nicht. Denn es sollte ja egdl ein >= sein und kein =>... Aber wenn's geht... Rolling Eyes

Btw: Warum keine For-Schleife? Razz

grüße
 

noir

BeitragFr, Apr 01, 2005 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
warum nicht Wink

aber dein beispiel oben ist fehlerhaft, oder täusche ich mich? Rolling Eyes
Zitat:

Function Fakultaet( n% )
x% = 1

For i% = n To 1 Step -1
x = x * n
Next

Return x
End Function
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting
 

David

BeitragFr, Apr 01, 2005 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

[edit]
Hu.. x = x * i
So isses richtig! Wink
Danke !Smile

grüße

@ndinho

BeitragFr, Apr 01, 2005 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist euch eigendlich langweilig?
User posted image

Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800
Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic Smile

Ofenrohr

BeitragFr, Apr 01, 2005 13:57
Antworten mit Zitat
Benutzer-Profile anzeigen
mir schon....
sonst hätte ich dieses thema nicht gemacht Wink
Ofenrohr.net

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group