Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Задача с гирями


Автор: Агурца 20.12.2005, 20:04
Имеются гири с массами: 1 г, 2 г, ..., N г (N <= 25000). Помогите написать программу, распределяющую эти гири на максимально возможное количество пар так, чтобы суммарный вес гирь в каждой паре выражался простым числом.
Входной файл содержит число N.
В выходном файле выводится список найденных пар.
smile

Автор: Snowy 20.12.2005, 20:19
Код

var
  i, N: integer;
begin
  Write('Введите N: ', N);
  ReadLn(N);
  for i:=1 to N div 2 do
    WriteLn(i,'тая пара: ', i, 'г и ',N-i+1,'г = ', N+1);
end.

Автор: Alcohol 20.12.2005, 20:58
Самый примитивный вариант (сразу говорю - не проверял, но должно работать)
Код

var
  i,j, N,s,d,k: integer;
begin
  Write('Введите N: ', N);
  ReadLn(N);
  for i:=1 to N  do begin
    for j:=1 to N do begin
     if not j=i then begin
        s:=i+j;
       k:=0;
      for d:=(s div 2)+1 downto 2 do begin
            k:=s mod d;
            if k=0 then break;
           end;
            if k<>0 then 
           WriteLn(i,'г +',j,'г');
       end;
     end;
   end;
end.



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)