Помогите, пожалуйста... Очень нужно.Только не кидайте решения из Интернета, они не...

0 голосов
79 просмотров

Помогите, пожалуйста... Очень нужно.Только не кидайте решения из Интернета, они не подходят.

Полоска бумаги имеет размеры а*b. Каждый раз от неё отрезается квадрат максимального размера до тех пор, пока не получится квадрат. Сколько квадратов получится? Программе даны числа а и b(1<=a,b<=10^9). <br> Необходимо решение на языке Pascal


Информатика (249 баллов) | 79 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Program Prog;
Uses crt;

var a,b: real;
    k: integer;

begin
write('Введите размеры a и b: ');
readln(a,b);
while (a<>b) do
begin
if (aInc(k);
end;
writeln('Число квадратов: ',k+1);
end.

(9.6k баллов)
0

Спасибо, но пишет, что частичное решение... (Превышено максимальное время работы). Может, подскажете в чем проблема?

0

Потому что это самый очевидный и простой, но не самый быстрый способ. Попробуй это.

0

var a,b,t,n: integer;

begin
readln(a,b);
WHILE (b<>0) DO
begin
t:=a mod b;
inc(n, a div b);
a:=b;
b:=t;
end;
writeln(n);
end.

0

Спасибо огромное