Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2015, 18:53   #1
hunter_321
 
Регистрация: 02.06.2015
Сообщений: 3
По умолчанию PascalABC.Net Множество общих делителей

С клавиатуры вводятся неотрицательные целые числа. Признак конца ввода - ноль.
Получить множество общих делителей введённых чисел.
Есть наработки, но работает некорректно
Код:
const
  nmax = 100;
  n = 100;

type
  tmas = array [1..nmax] of integer;

function min(var a: tmas; n: byte): byte;
var
  minn: byte;
  i: integer;
begin
  minn := 1;
  for i := 1 to n - 1 do
    if a[i] < minn then 
      minn := a[i];
  min := minn;
end;

var
  a: tmas; 
  minn: integer;
  mn: set of 1..255;
  i, j, count: integer;

begin
  writeln('Исходные числа: ');
  count := 0;
  for i := 1 to n do
  begin
    read(a[i]);
    if a[i] = 0 then break;
    count += 1;
  end;
  writeln;
  minn := min(a, count+1);
  for j := 1 to minn+1 do
    for i := 1 to count do
      if(a[i] mod j = 0) and (a[count - i + 1] mod j = 0) then
        mn := mn + [j];
 //for i := 1 to minn do
    //if i in mn then writeln('Общий делитель = ', i);
  writeln(mn);
end.

Последний раз редактировалось hunter_321; 26.12.2015 в 18:55.
hunter_321 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
составить код для поиска нечетных делителей (PascalABC) MrOw Помощь студентам 1 16.12.2015 17:48
PascalABC.Net now2 Помощь студентам 2 27.03.2014 21:03
PascalABC.net gogomon93 Помощь студентам 5 17.04.2011 18:48
Множество общих делителей Nitriyc Помощь студентам 1 02.12.2009 09:54