помогите! назовем билет с шестизначным номером красивым,если его номер одинаково читается как слева направо ,так и справа налево.сколько красивых билетов в промежутке от 189980 до 205505
Program pretty; var count, i, d1, d2, d3, d4, d5, d6: integer; const MIN = 189980; MAX = 205505; begin count := 0; for i := MIN to MAX do begin d1 := i div 100000; d2 := i mod 100000 div 10000; d3 := i mod 10000 div 1000; d4 := i mod 1000 div 100; d5 := i mod 100 div 10; d6 := i mod 10; if ( (d6 * 100000) + (d5 * 10000) + (d4 * 1000) + (d3 * 100) + (d2 * 10) + d1 ) = i then count := count + 1; end; writeln('в промежутке от ', MIN, ' до ', MAX, ' ', count, ' счастливых билетов'); end.
BrightOne
Цикл от 189980 до 205505: сначала методом целочисленных делений находим цифры числа, потом в обратном порядке восстанавливаем их, умножая на соответствующую десятичную позицию, и сравниваем с исходным. Что неясного?
Answers & Comments
Verified answer
Program pretty;var
count, i, d1, d2, d3, d4, d5, d6: integer;
const
MIN = 189980;
MAX = 205505;
begin
count := 0;
for i := MIN to MAX do
begin
d1 := i div 100000;
d2 := i mod 100000 div 10000;
d3 := i mod 10000 div 1000;
d4 := i mod 1000 div 100;
d5 := i mod 100 div 10;
d6 := i mod 10;
if ( (d6 * 100000) + (d5 * 10000) + (d4 * 1000) + (d3 * 100) + (d2 * 10) + d1 ) = i
then
count := count + 1;
end;
writeln('в промежутке от ', MIN, ' до ', MAX, ' ', count, ' счастливых билетов');
end.