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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2015, 21:22   #1
businessman
Пользователь
 
Регистрация: 14.05.2015
Сообщений: 19
Вопрос Помогите с задачей

Есть 2 ряда чисел. Первый задаётся вручную, второй соответствует формуле 6n, то есть 6,12,18 и т.д. Нужно найти одинаковые числа в этих двух рядах.
Например при заданном ряде 1,3,6,7,12,17,24 в результате будут числа 6,12,24
businessman вне форума Ответить с цитированием
Старый 16.05.2015, 23:26   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

В чем проблема?
Просматривай ряд. Для полученного члена ряда проверяешь остаток при делении на 6.
Если остаток равен нулю, то этот член принадлежит второму ряду.
Код:
if ((a[i] MOD 6) = 0) then ...
Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 16.05.2015, 23:34   #3
businessman
Пользователь
 
Регистрация: 14.05.2015
Сообщений: 19
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
В чем проблема?
Просматривай ряд. Для полученного члена ряда проверяешь остаток при делении на 6.
Если остаток равен нулю, то этот член принадлежит второму ряду.
Код:
if ((a[i] MOD 6) = 0) then ...
Как-то так, ...
А если второй ряд будет равен 6n-4 например?
businessman вне форума Ответить с цитированием
Старый 17.05.2015, 00:05   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

В этом случае немного сложнее.
1. Необходимо получить остаток от деления элемента ряда на 2.
2. Если остаток 0 то элемент является претендентом на членство во втором ряде.
3. Если элемент - претендент, то поделить элемент ряда на 2: m := a[i] DIV 2;
4. В цикле по n, пока 6n - 4 <= m, ищем остаток от деления элемента ряда на 6n - 4.
5. Если остаток 0, то элемент ряда принадлежит второму ряду.


Как-то так, ...
PS: Как лучший, на мой взгляд, вариант: К элементу ряда прибавляешь 4 и затем ищешь остаток от деления на 6. :-)
Это так, поскольку: a[i] = 6n - 4; a[i] + 4 = 6n;
Как-то так, ...

Последний раз редактировалось ViktorR; 17.05.2015 в 00:11.
ViktorR вне форума Ответить с цитированием
Старый 17.05.2015, 05:18   #5
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
var a,b:array[1..10] of integer;
    i,j:byte;
begin
   For i:=1 to 10 do
   begin
      Readln(a[i]);
      b[i]:=6*i-4;
   end;
   Writeln;
   For i:=1 to 10 do
      For j:=1 to 10 do
         If a[i]=b[j] then
            Write(a[i],' ');
   Readln;
end.
Сойдет?
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 17.05.2015, 10:02   #6
businessman
Пользователь
 
Регистрация: 14.05.2015
Сообщений: 19
Радость

Цитата:
Сообщение от newerow1989 Посмотреть сообщение
Код:
var a,b:array[1..10] of integer;
    i,j:byte;
begin
   For i:=1 to 10 do
   begin
      Readln(a[i]);
      b[i]:=6*i-4;
   end;
   Writeln;
   For i:=1 to 10 do
      For j:=1 to 10 do
         If a[i]=b[j] then
            Write(a[i],' ');
   Readln;
end.
Сойдет?
Да! Всё работает просто идеально! Большое спасибо!!!
businessman вне форума Ответить с цитированием
Старый 17.05.2015, 10:53   #7
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Пожалуйста!
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с задачей Марсель1 Помощь студентам 1 26.04.2014 13:50
Помогите с задачей neong Паскаль, Turbo Pascal, PascalABC.NET 3 25.11.2013 10:28
помогите с задачей StakanpORTvejna Паскаль, Turbo Pascal, PascalABC.NET 1 11.10.2008 19:19
Помогите с задачей на С++ Nemisoi Помощь студентам 1 22.04.2008 22:09