Другие языки программирования и технологии
Помогите с очень простой задачей в Paskal. Срочно (завтра сдавать)
Найти первые m более чем 2-разрядных чисел-палиндромов, то есть чисел, десятичная запись которых читается одинаково в прямом и обратном направлениях, например: 373; 426624
если надо очень быстро предлагаю следующий вариант, берём числа попорядку от 100 до 1000 к примеру, каждое число переводим в строку, и проверяем строку на палиндром это легче сделать чем разбирать слово. ниже вариант с пояснениями, до 1000 сделал как вариант, чтобы можно было проверить вывод, если хочешь чтобы проверило все целые числа для твоего компа раскоментируй первую строку
{a := maxlongint;} // раскоментируй и будет счастье
но закоментируй вторую a := 1000; // а эту строку закоментируй
придётся довольно долго подождать.
program chislo_palindrom;
var
i : longint;
s, s1 : string;
a : longint;
i1 : integer;
begin
{a := maxlongint;} // раскоментируй и будет счастье
a := 1000; // а эту строку закоментируй
writeln('Для этой машины максимальное целое число = ', a);
writeln('Выведем цифры палиндромы от 100 до ', a);
i := 100;
writeln('Чтобы начать нажми enter');
readln;
repeat
s := ''; s1 := '';
str(i, s); // преобразовываем число в строку
for i1 := length(s) downto 1 do // переворачиваем строку, если совпадёт с первоначальной
begin // то число палиндром
s1 := s1 + s[i1];
end;
if s = s1 then write(s, ' ');
i := i + 1;
until i = a;
readln;
end.
Удачи.
{a := maxlongint;} // раскоментируй и будет счастье
но закоментируй вторую a := 1000; // а эту строку закоментируй
придётся довольно долго подождать.
program chislo_palindrom;
var
i : longint;
s, s1 : string;
a : longint;
i1 : integer;
begin
{a := maxlongint;} // раскоментируй и будет счастье
a := 1000; // а эту строку закоментируй
writeln('Для этой машины максимальное целое число = ', a);
writeln('Выведем цифры палиндромы от 100 до ', a);
i := 100;
writeln('Чтобы начать нажми enter');
readln;
repeat
s := ''; s1 := '';
str(i, s); // преобразовываем число в строку
for i1 := length(s) downto 1 do // переворачиваем строку, если совпадёт с первоначальной
begin // то число палиндром
s1 := s1 + s[i1];
end;
if s = s1 then write(s, ' ');
i := i + 1;
until i = a;
readln;
end.
Удачи.
//счетчик числе не устанавливал
var
i, r, n, b, j : integer;
function reverse(i: integer; var base: integer): integer;
var
r: integer;
begin
r:=0;
base := 1;
repeat
r:=r*10 + (i mod 10);
base := base * 10;
i := i div 10;
until i = 0;
reverse := r;
end;
begin
writeln('_________________________________________');
for i := 1 to 100 do
begin
r := reverse(i, b);
n := i*b + r;
write(n, ' ');
for j:= 0 to 9 do
begin
n := (i*10+j)*b + r;
write(n, ' ');
end;
end;
writeln;writeln('_________________________________________');
end.
var
i, r, n, b, j : integer;
function reverse(i: integer; var base: integer): integer;
var
r: integer;
begin
r:=0;
base := 1;
repeat
r:=r*10 + (i mod 10);
base := base * 10;
i := i div 10;
until i = 0;
reverse := r;
end;
begin
writeln('_________________________________________');
for i := 1 to 100 do
begin
r := reverse(i, b);
n := i*b + r;
write(n, ' ');
for j:= 0 to 9 do
begin
n := (i*10+j)*b + r;
write(n, ' ');
end;
end;
writeln;writeln('_________________________________________');
end.
Похожие вопросы
- Помогите написать очень простую прогу по программированию в Делфи 7
- Помогите решить задачу в Delphi срочно! буду очень благодарен.
- Помогите пожалуйста найти ошибку в решении задачи по информатике(паскаль) !!!Прошу очень нужно!!!задача простая!!!
- Помогите с задачей по информатике. Срочно прошу.
- Простая задача на VBA ! Помогите советом ...
- Помогите пожалуйста, очень срочно нужно решить задачу по информатике. Сама не понимаю, есть ли вообще решение.
- Задача в паскале. помогите пожалуйста... очень срочно нужно!
- Простая задача на FASM (ассемблер) помогите 3 дня мучаюсь!!!
- Великие программистские умы. Может поможет кто. Такая вот задача: Задача о гостинице. Многопоточность.
- Помогите пожалуйста решить задачу по С++!!Срочно..