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ć?
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.
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.
:|
coś nie tak?
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.
//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;
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;
Co ten kod Xitami robi? To jest do rozdzielania tej liczby na poszczególne cyfry? BO nie rozumiem w ogóle co to jest.
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
czemu nie widze tego co cimak napisał?? moglby ktoś powtórzyć taki program?
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.