Будем считать одинаковыми прямоугольники, получающиеся один из другого, если поменять ребра местами.

Обозначим площадь буквой p, а стороны прямоугольника - буквами a и b. Приравнивая одну сторону (например, a) к 1, 2, 3, 4 и т. д. до тех пор, пока $$a\leq b$$ (b получим, разделив площадь на a), мы сможем получить все прямоугольники, площади которых равны p.

Program Priamougolnik;
var p, {указаная площадь треугольника}
 a, b, {стороны прямоугольника}
 skolko: integer; {сколько различных равновеликих прямоугольников}
begin
write('Введите площадь прямоугольника: ');
read(p);
skolko:=0;
a:=1;
b:=p;
repeat
 if a*b=p then {найден прямоугольник}
 begin
 skolko:=skolko+1;
 writeln(a, '*', b:1)
 end;
 a:=a+1;
 b:=p div a
 until a>b;
 write(skolko, ' Прямоугольников площадью ', p)
end.


2012-06-22 • Просмотров [ 2099 ]