Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Помогите решыть плиз!!!
1
  1  Верещака Артём Александрович, 25 апреля 2009 г. 14:54:44
      я уже решыл!вот:
Var s,a,a1:longint;
i:longint;
begin
assign(input,'rects.in');
reset(input);
assign(output,'rects.out');
rewrite(output);
read(s);
for i:=1 to ROUND(sqrt(s)) do
if s mod i=0 then writeln(i,' ',s div i);
close(input);
close(output);
end.
     А я то думал, что это я, а не ты решил :).
  2  Верещака Артём Александрович, 25 апреля 2009 г. 14:00:11
      Одинаковые прямоугольники, получающиеся перестановкой сторон, выводить не надо!!!
  3  SOVA xxx, 25 апреля 2009 г. 13:53:05
      for i := 1 to s div 2 do if s mod i = 0 then writeln(i, ' ', s div i);
     Не, так для 12 выдаст 3,4 и 4,3.
  4  Верещака Артём Александрович, 25 апреля 2009 г. 12:52:40
      и всё штоль?это токо один вариант выписывает!
     почему это один? для S=12 у нас получается цикл от 1 до 3, на все эти i число S делится, поэтому оператор writeln срабатывает 3 раза и выводит как раз то что надо.
  5  Верещака Артём Александрович, 25 апреля 2009 г. 11:07:13
      Прямоугольники

Имя входного файла: rects.in
Имя выходного файла: rects.out
Ограничение по времени: 0.5 секунд
Ограничение по памяти: 64 Мб


Прямоугольники, площади которых равны, называются равновеликими. Напишите программу, находящую все возможные целочисленные стороны равновеликих прямоугольников заданной площади.

Входные данные
В первой строке входного файла содержится число S (1<=S<=1000000)– площадь прямоугольника.

Выходные данные
В каждой строке выходного файл rects.out должны выводиться стороны прямоугольника с площадью S. Одинаковые прямоугольники, получающиеся перестановкой сторон, выводить не надо.

Пример
rects.in rects.out
12 1 12
2 6
3 4
     for i=1..[sqrt(S)] if(S mod i = 0) writeln(i, ' ' ,S div i);
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru