Помощь - Поиск - Пользователи - Календарь
Полная версия: Последовательность чисел
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
medved777
Родные мои, помогите пожалуйста! Не могу даже алгоритм набросать. Дайте идею. Надеюсь только на вашу помощь.
Задача: Напечатать в возрастающей последовательности все трехзначные числа, в десятичной записи которых нет одинаковых цифр. Операцией деления не пользоваться.
volvo
Ну, если нельзя пользоваться делением, то переводи число в строку (процедурой str), и сравнивай символы полученной строки между собой на равенство...
medved777
Спасибо. Это понятно. Так я определю числа с одинаковыми цифрами. А что дальше?
volvo
blink.gif
Цитата
Задача: Напечатать в возрастающей последовательности все трехзначные числа
Вот и печатай, если число НЕ содержит одинаковых цифр (т.е., если оно этот самый тест не прошло)... Что еще надо?
Perfez
 
var
a:integer;
s:string[3];
Begin
For a:=100 to 999 do
Begin
Str(a,s);
If (s[1]<>s[2]) and (s[2]<>s[3]) and (s[1]<>s[3]) then WriteLn(a);
End;
End.

medved777
Огромное-преогромное спасибо. Просто я затупила маленько. Все понятно.
volvo
Вот так, кстати, будет работать гораздо быстрее:
var
a, b, c: integer;
begin
for a := 1 to 9 do
for b := 0 to 9 do begin
if a <> b then
for c := 0 to 9 do
if (c <> a) and (c <> b) then writeln(a, b, c);
end;
end.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.