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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2016, 20:03   #1
mari_fire
Новичок
Джуниор
 
Регистрация: 22.10.2016
Сообщений: 1
По умолчанию У Деда Мороза есть N коробок конфет. Известно, количество конфет в каждой коробке и задано в таблицеA[1:N].Х детей хотят получить четное число конфет, а Y детей - нечетное.

Помогите решить пожалуйста! Я не могу...
У Деда Мороза есть N коробок конфет. Известно, количество конфет в каждой коробке и задано в таблицеA[1:N].Х детей хотят получить четное число конфет, а Y детей - нечетное. Составьте алгоритм, определяющий, может ли Дед Мороз раздать все N коробок так, чтобы X детей получили четное число конфет. Y-нечетное, и каждому ребенку досталась как минимум одна коробка. Делить коробки не разрешается.
Помогите!!!!!!!!!!!!!!
mari_fire вне форума Ответить с цитированием
Старый 30.10.2016, 12:28   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Условие неполное: а сколько коробок конфет получает написавший прогу ?
Не могу не отметить: условие задачи идиотичнейшее . Как у Задорнова с оленем, рассчитывающим падение ветки в ручей по параболе.

Последний раз редактировалось digitalis; 30.10.2016 в 12:31.
digitalis вне форума Ответить с цитированием
Старый 30.10.2016, 12:40   #3
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Цитата:
а сколько коробок конфет получает написавший прогу ?
Я все N коробок получаю, потому что жадный!!! И никому не отдам, потому что это всё моё!!!
Цитата:
условие задачи идиотичнейшее
Согласен!


Код:
const n=10;
var a:array[1..n] of integer;
    i,x,y,n1,n2:integer;
begin
   Write('x = '); Readln(x);
   Write('y = '); Readln(y);
   Randomize;
   For i:=1 to n do
   begin
      a[i]:=10+Random(21);
      Write(a[i]:3,'  ');
   end;
   Writeln;
   Writeln;
   n1:=0;
   n2:=0;
   For i:=1 to n do
      If a[i] mod 2=0 then
         n2:=n2+1 else
         n1:=n1+1;
   If (x=n2) and (y=n1) then
      Writeln('yes') else
      Writeln('no');
   Writeln('no chet = ',n1,'; chet = ',n2);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 30.10.2016 в 12:45.
newerow1989 вне форума Ответить с цитированием
Старый 30.10.2016, 16:19   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

newerow1989, неверное решение.
Вы упускаете из виду условие "и каждому ребенку досталась как минимум одна коробка."
т.е. коробок у ребёнка может быть больше одной.
проверьте своё решение, например,
для x=2, y=2, коробок 5 с количеством конфет: нечет, нечет, чёт, нечет, нечет.

или x=2, y=2, коробок 6 с количеством конфет: нечет, нечет, чёт, нечет, нечет, чёт

очевидно, что в обоих случаях ответ должен быть положительный.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.10.2016, 16:32   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Да, жадность профи подвела - все конфеты пролетели мимо
digitalis вне форума Ответить с цитированием
Старый 30.10.2016, 16:35   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Тогда только так
Код:
const n=10;
var a:array[1..n] of integer;
    i,x,y,n1,n2:integer;
begin
   Write('x = '); Readln(x);
   Write('y = '); Readln(y);
   Randomize;
   For i:=1 to n do
   begin
      a[i]:=10+Random(21);
      Write(a[i]:3,'  ');
   end;
   Writeln;
   Writeln;
   n1:=0;
   n2:=0;
   For i:=1 to n do
      If a[i] mod 2=0 then
         n2:=n2+1 else
         n1:=n1+1;
   n2:=n2-x;// сколько коробок осталось, если по одной коробке каждому ребенку давать
   n1:=n1-y;
   If (n2>=0) and (n1>=0) then
      Writeln('yes') else
      Writeln('no');
   Writeln('no chet = ',n1,'; chet = ',n2);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Четное и нечетное число на PHP petroviya94 Помощь студентам 0 29.03.2015 21:18
Известно количество детей, проживающих в каждой из квартир. Составить программу, находящую сколько детей в многодетных семьях саша аврамов Паскаль, Turbo Pascal, PascalABC.NET 2 22.03.2013 08:20
Задача на тип запись: из ассортимента конфет выбрать те, стоимость которых от 30 до 55 рублей за 1 кг lililili Паскаль, Turbo Pascal, PascalABC.NET 2 29.11.2012 15:01
Четное или нечетное число turtles Общие вопросы по Java, Java SE, Kotlin 3 25.08.2011 08:54
Дано число a. Как определить, четное оно, или нечетное? pahanzona Общие вопросы Delphi 5 09.03.2011 12:49