Составим программу для нахождения всех прямоугольников указанной площади (площадь - исходное данное, выраженное натуральным числом), стороны которых - натуральные числа. Например, если площадь равна 12, то получим три разных прямоугольника: $$1\times 12$$ $$2\times 6$$ $$3\times 4$$
Будем считать одинаковыми прямоугольники, получающиеся один из другого, если поменять ребра местами.
Обозначим площадь буквой 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 • Просмотров [ 4599 ]