Предмет: Информатика,
автор: nastyaleichik
Составьте программу вычисления количества трёхзначных чисел-палиндромов.
Ответы
Автор ответа:
0
var
s: string;
ar: array of char;
i, c, j: integer;
b: boolean;
begin
b := true;
i := 100;
while true do
begin
s := i.ToString;
setlength(ar, i.ToString.Length);
ar := s.Reverse.ToArray;
for j := 1 to i.ToString.Length do
if (s[j] = ar[j - 1]) then else b := false;
if(b = true) then c := c + 1 else b := true;
if (i = 999) then break;
i := i + 1;
end;
write(c);
end.
ar: array of char;
i, c, j: integer;
b: boolean;
begin
b := true;
i := 100;
while true do
begin
s := i.ToString;
setlength(ar, i.ToString.Length);
ar := s.Reverse.ToArray;
for j := 1 to i.ToString.Length do
if (s[j] = ar[j - 1]) then else b := false;
if(b = true) then c := c + 1 else b := true;
if (i = 999) then break;
i := i + 1;
end;
write(c);
end.
Автор ответа:
0
Вот это Вы загнули! )))))
Автор ответа:
0
Это можно найти и без компьютера. Трехзначное число-палиндром может начинаться (и заканчиваться) цифрой от 1 до 9 - всего 9 цифр. Каждой первой цифре может соответствовать любая из десяти вторых цифр, итого получаем 9×10 = 90.
Тем не менее, приведенная ниже программа решает задачу простым перебором.
// PascalABC.NET 3.2, сборка 1341 от 20.11.2016
begin
Writeln(Range(100,999).Where(x->(x mod 10)=(x div 100)).Count)
end.
Результат
90
Тем не менее, приведенная ниже программа решает задачу простым перебором.
// PascalABC.NET 3.2, сборка 1341 от 20.11.2016
begin
Writeln(Range(100,999).Where(x->(x mod 10)=(x div 100)).Count)
end.
Результат
90
Похожие вопросы
Предмет: Математика,
автор: vadimdanilov45460
Предмет: Математика,
автор: polinadasha86
Предмет: Русский язык,
автор: DiPan
Предмет: Алгебра,
автор: xlebyiiiek
Предмет: Геометрия,
автор: xomaAnn