55:5=11
365:11≈33(34) берём "34", чтобы перехлестнуть 365.
Так как 11-ый член является замыкающим (перехлёстывающим 365), тогда смотрим по ближайшим:
34*10=340 (340+34=374) - подходит, но это не максимум!
365 mod 10= 36, а это значит, что последующий член будет больше 365, а именно 395.
В задании сказано, что d должно быть максимальным, а "34" - это допустимое, но не максимально число, удовлетворяющее условию, даже минимальное (по результату).
Проверка:
34*11=374, значит, когда на экране выведется s:=340, n:=50, то, зайдя по следующему циклу, получится, что s:= 374, n:=55. На следующий цикл программа не пойдёт.
ответ: d=34.
var a, b, с: integer;
begin
write('Введите два числа: ');
readln(a, b);
if a < b then с := a + 1 else с := b + 1;
repeat с := с - 1
until (a mod с = 0) and (b mod с = 0);
write('NOD = ', с)
end.
//2. Алгоритм с вычитанием (цикл while)
var a, b: integer;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
while a <> b do
if a > b then
a := a - b
else
b := b - a;
writeln('NOD = ', a);
end.
// PascalABC.Net 3.0, сборка 1076
begin
var t:=ArrRandom(31,18,39);
Writeln('Температуры июля',#13#10,t);
Writeln('Температуры двух самых теплых дней: ',
t.OrderByDescending(x->x).Take(2))
end.
Тестовое решение:
Температуры июля
[25,25,32,26,30,26,18,31,28,31,24,19,22,34,23,31,27,26,30,21,21,20,18,25,23,22,32,18,37,24,25]
Температуры двух самых теплых дней: [37,34]
2. "Школьный вариант."
// PascalABC.Net 3.0, сборка 1076
var
t:array[1..31] of integer;
i,max,max2:integer;
begin
Randomize;
Writeln('Температуры июля');
max:=0; max2:=0;
for i:=1 to 31 do begin
t[i]:=Random(22)+18;
Write(t[i],' ');
if t[i]>max then begin max2:=max; max:=t[i] end
else
if t[i]>max2 then max2:=t[i]
end;
Writeln;
Writeln('Температуры двух самых теплых дней: ',max,', ',max2)
end.
Тестовое решение:
Температуры июля
23 29 22 29 37 37 31 35 18 34 31 31 27 22 27 20 19 24 31 33 26 25 22 28 31 32 21 37 38 37 20
Температуры двух самых теплых дней: 38, 37