Показать сообщение отдельно
  #1  
Старый 19.05.2008, 19:56
Nisan Nisan вне форума
Прохожий
 
Регистрация: 18.05.2008
Сообщения: 6
Репутация: 10
По умолчанию Девятиричная система счисления

Здравствуйте. Мне захотелось написать программу, которая выводит все числа девятеричной системы.Причём их должно быть 4657 штук. Ниже я привожу алгоритм, собственный разработанный, но он чего-то не работает. Помогите найти ошибку!
procedure TForm1.Button1Click(Sender: TObject);
Var sc,i,a,b,c,d,k:integer;
begin
sc:=0; k:=0; // Обнуляем счётчик и генератор чисел
While sc<4657 do//если счётчик не достиг задан. числа, вып. процедура.
Begin
k:=k+1;//собственно перебор чисел
if k<10000 then// отделения чисел по ... тысячам
Begin
d:=k div 1000; k:=k-d*1000;
End;
if k<1000 then//...сотням
Begin
c:=k div 100; k:=k-c*100;
End;
if k<100 then//...десяткам
Begin
b:=k div 10; k:=k-b*10;
End;
if k<10 then//... единицам
Begin
a:=k div 1;
End;
if (a>=1) and (a<9) and (b>=1) and (b<9) and (c>=1) and (c<9) and (d>=1) and (d<9) then// если числа меньше 9 и 0, то записыв. в редактор
Begin
sc:=sc+1;
Memo1.Lines.Add(IntToStr(k));
End;


End;

end;
Ответить с цитированием