// PascalABC.NET 3.2, сборка 1338 от 16.11.2016 uses GraphABC; begin var s:=ReadlnString('Укажите время MM:CC'); var m:=s.Left(2).ToInteger; var c:=s.Right(2).ToInteger; var i:=m; var j:=c; Font.Size:=60; Font.Color:=clBlue; repeat while i<60 do begin while j<60 do begin if i<10 then s:='0'+i+':' else s:=i+':'; if j<10 then s+='0'+j else s+=j; FillRect(50,100,350,400); DrawTextCentered(50,100,350,400,s); Inc(j); Sleep(1000) end; j:=0; Writeln; Inc(i) end; i:=0 until False end.
Сначала стоит немного подумать над задачей, а не писать "в лоб".
Если число кратно 2 и одновременно 3, то оно кратно и их произведению, т.е. 2 х 3 = 6. Ближайшее число, превышающее 10 и кратное 6 - это 12. Начинаем от него и идем с шагом 6, пока не превысим 99.
1. Так можно решить по-современному:
// PascalABC.NET 3.1, сборка 1190 от 05.03.2016 begin Writeln('Искомая сумма равна ',Range(12,99,6).Sum) end.
Результат выполнения программы Искомая сумма равна 810
2. А так - "по-школьному":
// PascalABC.NET 3.1, сборка 1190 от 05.03.2016 var i,s:integer; begin i:=12; s:=0; while i<=99 do begin s:=s+i; i:=i+6 end; Writeln('Искомая сумма равна ',s) end.
uses GraphABC;
begin
var s:=ReadlnString('Укажите время MM:CC');
var m:=s.Left(2).ToInteger;
var c:=s.Right(2).ToInteger;
var i:=m;
var j:=c;
Font.Size:=60;
Font.Color:=clBlue;
repeat
while i<60 do begin
while j<60 do begin
if i<10 then s:='0'+i+':' else s:=i+':';
if j<10 then s+='0'+j else s+=j;
FillRect(50,100,350,400);
DrawTextCentered(50,100,350,400,s);
Inc(j);
Sleep(1000)
end;
j:=0;
Writeln;
Inc(i)
end;
i:=0
until False
end.
Если число кратно 2 и одновременно 3, то оно кратно и их произведению, т.е. 2 х 3 = 6.
Ближайшее число, превышающее 10 и кратное 6 - это 12.
Начинаем от него и идем с шагом 6, пока не превысим 99.
1. Так можно решить по-современному:
// PascalABC.NET 3.1, сборка 1190 от 05.03.2016
begin
Writeln('Искомая сумма равна ',Range(12,99,6).Sum)
end.
Результат выполнения программы
Искомая сумма равна 810
2. А так - "по-школьному":
// PascalABC.NET 3.1, сборка 1190 от 05.03.2016
var
i,s:integer;
begin
i:=12;
s:=0;
while i<=99 do begin
s:=s+i;
i:=i+6
end;
Writeln('Искомая сумма равна ',s)
end.