n-cyfrowe kombinacje cyfr

0

Witam!
Mam problem. Mianowicie potrzebuję kodu, który wypisze mi wszystkie możliwe kombinacje cyfr od 3 do 9 cyfrowych. Nie mam pojęcia jak to rozwiązać.
Ma ktoś jakiś pomysł jak to napisać?

0

uhuhuuuu, trudno by było :) dużo tych kombinacji będzie, ale może to (niestety nie mam pojęcia o delphi więc napiszę w c++, poproś kogoś albo sam sobie przetłumacz:) :

for(int i = 100 ; i < 999999999 ; ++i ){
cout << i << endl;
}

nie jestem pewien, ale raczej zadziała. Program ma na wejściu pętli zmienną i = 100 i w każdej iteracji pętli wyświtla ją, a potem zwiększa o 1 i tak w kółko aż do 999999999.

0
Vinner napisał(a)

uhuhuuuu, trudno by było :) dużo tych kombinacji będzie, ale może to (niestety nie mam pojęcia o delphi więc napiszę w c++, poproś kogoś albo sam sobie przetłumacz:) :

for(int i = 100 ; i < 999999999 ; ++i ){
cout << i << endl;
}

nie jestem pewien, ale raczej zadziała. Program ma na wejściu pętli zmienną i = 100 i w każdej iteracji pętli wyświtla ją, a potem zwiększa o 1 i tak w kółko aż do 999999999.

:|

0

coś nie tak?

0

to może inaczej.
Jak można mając liczbę np. 345 rozdzielic ją na pojedyncze cyfry?
Pasowałby mi jakiś efektywny sposób, bo zwracanie reszty z dzielenia przez 10 i 100 to raczje odpada.

0

//następna

i:=1;
repeat
  inc(t[i]);
  if t[i]<10 then break
  t[i]:=0;
  inc(i)
until false;
if i>N then halt;
0
dziadeq napisał(a)

Witam!
Mam problem. Mianowicie potrzebuję kodu, który wypisze mi wszystkie możliwe kombinacje cyfr od 3 do 9 cyfrowych. Nie mam pojęcia jak to rozwiązać.
Ma ktoś jakiś pomysł jak to napisać?

pomysl...
potrzebujesz kazdej liczby >=100 i <=999999999.
petla, tak jak napisal Vinner.

w delphi bedzie to tak:

var I:Integer;
begin
For I:=100 to 999999999 do
   begin

   end;
end;
0

Co ten kod Xitami robi? To jest do rozdzielania tej liczby na poszczególne cyfry? BO nie rozumiem w ogóle co to jest.

1
dziadeq napisał(a)

wszystkie możliwe kombinacje cyfr od 3 do 9 cyfrowych

cyfra nie moze byc 9, 3, ani nawet 2 cyfrowa :)

chodzi chyba o kombinacje tych ?liczb? - kombinacja, czyli mamy jakis zbior cyfr (moze od 0 do 9, moze od 3 do 8, w tym dwa razy 5), z ktorego wypisujemy kazda kombinacje - kazda cyfre musimy i mozemy uzyc tylko raz...

wyglada mi to na zadanie konkursowe - na zadnym konkursie nie daja zadan "wypisz wszystkie liczby od 100 do 9999" :D

0

czemu nie widze tego co cimak napisał?? moglby ktoś powtórzyć taki program?

0

procedure wypelnij_H(licznik:integer);
var a:array [1..200] of integer; o,wart,p,j,i:integer; log:boolean;

begin
i:=licznik;

while i>0 do
begin
  for j:=1 to i do
      a[j]:=licznik+1-j;
  repeat
    log:=true;
    while log do
    begin

      for j:=1 to i do
      for p:=j+1 to i do
      if not (p=j) then if a[p]=a[j] then log:=false;
      if log then
                begin
                  for j:=1 to i-1 do
                  write(a[j],',');
                  writeln(a[i]);
                end;
      o:=i; //bedzie odliczac liczby w tabeli
      if a[i]>1 then dec(a[o])
                else
                  begin
                  repeat
                  dec(o);
                  until a[o]>1;
                  dec(a[o]);
                  for j:=o+1 to i do
                  a[j]:=a[o];


                  end;
      if a[1]<=1 then log:=false
                  else log:=true;


    end;
  until a[1]=1;
  dec(i);
end;

writeln(1); // tutaj dziadosko dodane, bo nie mialem pomyslu tam wyzej, jak wyswietlic i ten, zeby nie napsuc
end;

to ci wyswietla kombinacje elementow od 1 do licznik, mozesz sobie zamienic na wyswietlanie nie numerkow, tylko elementow tablicy, i bedzie fajnie hulac

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.