Решить по информатике.можно хотя бы первые решить,чтобы я понимал как делать.язык паскаль​

vanykazakoff vanykazakoff    1   10.01.2020 23:37    1

Ответы
ярок228666 ярок228666  11.10.2020 00:12

var

 Numbers: array [1..6] of integer;

 x, summ12, summ56, countN, r : integer;

begin

 for var i := 100000 to 999999 do begin

   // берем каждое число от 100000 до 999999

   x := i;

   for var j := 1 to 6 do begin

   

     // mod - получаем остаток от деления X на 10

     // например для 12345.6 остаток от деления - 6

     Numbers[7 - j] := x mod 10;

     

     //записываем цифры в обратном порядке (справа налево), поэтому [7 - j]

     

     // div - получаем целую часть числа от деления X на 10  

     // например, для 1234.5 целая часть - 12345

     x := x div 10;

     // теперь X будет на 1 разряд меньше (например X = 12345)

     

     // делим 6 раз X на 10

     // например (1) 12345.[6] => (2) 1234.[5] => (3) 123.[4] => (4) 12.[3] => (5) 1.[2] = > 0.[1]

   end;

   

   // считаем суммы двух первых и последних

   summ12 := Numbers[1] + Numbers[2];

   summ56 := Numbers[5] + Numbers[6];

   

   //  и разницу между суммами

   r := summ12 - summ56;

   //  разница может быть 5 или -5

   //  abs() - возвращает модуль числа

   //  приводим разницу в положительное число

   

   // если разница не более 5, то число счастливое

   if(abs(r) <= 5) then countN := countN + 1;

 end;

 

 writeln('Количество счастливых чисел: ', countN);

end.

Объяснение:

для PascalABC

это задача под номером 2

Получив цифры с

x mod y

x div y

можно (для других задач) изменить расчет суммы и условие счета количества

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика