De digitale vraagbaak voor het wiskundeonderwijs

home |  vandaag |  gisteren |  bijzonder |  prikbord |  gastenboek |  wie is wie? |  contact

HOME

samengevat
vragen bekijken
een vraag stellen
hulpjes
zoeken
FAQ's
links
twitter
boeken
help

inloggen

colofon

  \require{AMSmath} Printen

Systematisch anagrammen maken

Ik wil in VisualBasic een programma schijven dat van een gegeven letterreeks (een woord) alle mogelijk anagrammen geeft.
Nu wilde ik hiervoor een n-tallig stelsel maken waarin n het aantal tekens van de reeks is.

Voorbeeld:
Tom:
T=0
o=1
m=2
Dus een 3-tallig stelsel.

Als ik dan in het n-tallig stelsel alle getallen van 0 tot nn achter elkaar zet, en de cijfers vervang door de gegeven tekens heb ik alle mogelijke opeenvolgingen van de tekens. Echter moeten dan wel alle dubbele (zoals 233=omm, dit is geen anagram van Tom) eruit, maar dat is wiskundig niet het meest complexe.

Mijn vraag is een algoritme waarmee ik een niet-10-tallig stelsel kan opbouwen. Ik werk in een programmeertaal dus iteratie en dergelijke zijn geen probleem.

Bij voorbaat dank
Tom

Tom
Leerling bovenbouw havo-vwo - woensdag 15 juni 2005

Antwoord

Zoiets? (in Delphi):

var i,n: integer;

function base_10_to_base_basis(getal,basis:integer):string;
var s:string;
begin
s:='';
while getal0 do
begin
s:=inttostr(getal mod basis)+s;
getal:=getal div basis
end;
base_10_to_base_basis:=s;
end;

begin
n:=4;
for i:=1 to trunc(power(n,n))-1 do
memo1.lines.add(base_10_to_base_basis(i,n))
end;

Wie is wie?
Vragen naar aanleiding van dit antwoord? Klik rechts..!
donderdag 16 juni 2005



klein |  normaal |  groot

home |  vandaag |  bijzonder |  twitter |  gastenboek |  wie is wie? |  colofon

©2001-2020 WisFaq - versie IIb