Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/125: Рейтинг темы: голосов - 125, средняя оценка - 4.79
18 / 18 / 14
Регистрация: 27.11.2011
Сообщений: 51

Каждый робот живет 3 года после сборки. Сколько роботов будет через N лет?

29.11.2011, 21:55. Показов 25218. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сообщество роботов живет по следующим законам: один раз в год они объединяются а полностью укомплектованные группы по 3 или 5 роботов(причем число групп из 3-х роботов-максимально возможное). За год группа из 3-х роботов собирает 5 новых роботов, а группа из 5 роботов - 9 новых роботов.
Каждый робот живет 3 года после сборки. Известно начальное количество роботов(k>7, все они только что собраны). Определить сколько роботов будет через N лет.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2011, 21:55
Ответы с готовыми решениями:

Определить, через сколько лет будет погашена ссуда
Некто взял ссуду в банке величиной А руб. под В % годовых. Ежегодно заемщик вносит платежи в счет ссуды в С руб. Написать программу,...

Определить, через сколько лет будет погашена ссуда
1. Через прямоугольное окошко размером P*Q Винни -Пух выбросил круглый шарик радиусом R. Написать программу, определяющую, пройдет ли шарик...

Выведите на экран через сколько лет сумма будет В
Задача такова. "Процент по вкладам 15%. Первоначальный взнос А. Выведите на экран через сколько лет сумма будет В . А и В водится с...

26
29.11.2011, 22:04

Не по теме:

Решил на ночь всем мозг добить ? :stop:

0
18 / 18 / 14
Регистрация: 27.11.2011
Сообщений: 51
29.11.2011, 22:09  [ТС]
Кому не понятно как происходит распределение роботов по группам, объясню:
для начала нам нужно знать сколько роботов в данный год(изначальное количество мы вводим). Согласно условию количество групп из 3-х роботов должно быть максимально возможным(т.е. н-р: число роботов N(20) мы делим на 3, получаем 9 групп по 3, но т.к. остается еще 2 робота которых не впихнеш ни в группу из 3-х ни в группу из 5-ти, т.е. надо провести расчет который распределит так чтобы все роботы были распределены по группам и было максимальное число групп из 3- роботов).
н-р для числа 20 распределение произойдет таким образом(3+3+3+3+3+5)

Добавлено через 56 секунд
Цитата Сообщение от WebMax 2.0 Посмотреть сообщение
Решил на ночь всем мозг добить ?
я себе этим целый день мозг добиваю
0
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
29.11.2011, 22:21
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Uses Crt;
Var i,k,n,s,s0,s1,s2,s3,x:integer;
BEGIN
ClrScr;
Write('Введите кол-во роботов: ');
Readln(k);
Write('Кол-во лет = ');
Readln(n);
s0:=k;
s1:=0;
s2:=0;
s3:=0;
for i:=0 to n do
begin
s:=s0+s1+s2+s3;
Case s mod 5 of
0: x:=(s div 5)*9;
1: if s=1
then x:=0
else x:=(((s-5) div 5)*9)+10;
2: if s=2
then x:=0
else if s=7
then x:=10
else x:=(((s-10) div 5)*9)+20;
3 : x:=((s div 5)*9)+5;
4 : if s=4
then x:=5
else x:=(((s-5) div 5)*9)+15;
end;
s3:=s2;
s2:=s1;
s1:=s0;
s0:=x;
end;
Writeln('Через ',n, ' лет будет ',s,' роботов');
END.
0
18 / 18 / 14
Регистрация: 27.11.2011
Сообщений: 51
29.11.2011, 22:40  [ТС]
работает неправильно

Добавлено через 10 минут
мне ее сегодня дал препод.. у нее в ответах написано что например если дано -10 роботов то через 10 лет будет хз сколько роботов
0
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
29.11.2011, 22:41
Да ну нафиг . Лучше с утречка такими задачками подбадриваться, а как это -10 роботов ?) :cofee2:
0
18 / 18 / 14
Регистрация: 27.11.2011
Сообщений: 51
29.11.2011, 22:55  [ТС]
ну наверное в долг взяли

Добавлено через 3 минуты
они у тебя в коде через 3 года не подыхают чтоли?
0
--\.founder./--
 Аватар для WebMax 2.0
565 / 565 / 392
Регистрация: 20.10.2011
Сообщений: 867
29.11.2011, 22:59
Ладно пофиг подыхают или нет ! Постараюсь о ней щас не думать , кошмар !
0
 Аватар для CrazzyBeer
3 / 3 / 6
Регистрация: 24.03.2014
Сообщений: 65
24.07.2014, 00:28
Бампаю старую тему
Требуется проверка правильности программы
Больше всего интересует правильная формула поиска сочетаний. Не нужно кидать ссылок - бороздил интернет где-то полчаса и так и не нашел правильного ответа.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  var a:array[1..100] of int64;
    t,n,k,m,j:int64;
    i:integer;
begin
assign(input, 'input.txt'); reset(input); 
assign(output, 'output.txt'); rewrite(output);
read(k,n);
a[1]:=k;
for i:=2 to n do
  begin
   j:=(a[i-1] div 5);  {групп по пять роботов} 
    repeat
    t:=j*9 + ((a[i-1]-(j*5)) div 3)*5;  {ищет максимальное сочетание групп по пять и по 3 робота}
    if  t>m then m:=t;
    dec(j);
    until j=-1;
   if i>3 then
    begin
    if i=4 then a[i]:=(a[i-1]-a[i-3])+m
     else
       a[i]:=(a[i-1]-(a[i-3]-a[i-4]))+m {созданные - умирающие роботы}
    end
     else a[i]:=a[i-1]+m; {первые два шага}
  end;
write(a[n]);
end.
0
Модератор
10435 / 5724 / 3405
Регистрация: 17.08.2012
Сообщений: 17,429
24.07.2014, 13:09
Цитата Сообщение от Akcent2 Посмотреть сообщение
причем число групп из 3-х роботов-максимально возможное
Цитата Сообщение от Akcent2 Посмотреть сообщение
k>7
Цитата Сообщение от CrazzyBeer Посмотреть сообщение
бороздил интернет где-то полчаса
А самому догадаться не алё? Если немного подумать, то станет ясно, что количество групп по 5 роботов определяется остатком от деления на 3 общего количества роботов, без никаких циклов. Если остаток 0 - групп по 5 роботов 0, если 1 - то 2, если 2 - то 1. Пусть всего роботов p, количество групп по 3 - g3, по 5 - g5, тогда так, к примеру:
Pascal
1
2
3
4
5
6
  case p mod 3 of
   0: g5 := 0;
   1: g5 := 2;
   2: g5 := 1
  end;
  g3 := (p - 5 * g5) div 3;
Добавлено через 10 минут
Можно без case:
Pascal
1
2
  g5 := (5 * (p mod 3)) mod 3;
  g3 := (p - 5 * g5) div 3;
0
 Аватар для CrazzyBeer
3 / 3 / 6
Регистрация: 24.03.2014
Сообщений: 65
24.07.2014, 14:04
Никак не мог догадаться, как можно получить максимальную производительность роботов

Добавлено через 22 минуты
Моя программа, основанная на ваших вычислениях групп валится на 5 тесте a c m p
Когда как программа с перебором валится на 16ом
0
24.07.2014, 14:06

Не по теме:

CrazzyBeer, что-то я не понимаю... Какие предпосылки позволили Вам прийти к выводу, что я Вас оскорбил? Не ведаю, за что, но извините.

Или, может, я неверно понял условие задачи?

0
 Аватар для CrazzyBeer
3 / 3 / 6
Регистрация: 24.03.2014
Сообщений: 65
24.07.2014, 14:07
Уже извиняюсь я, видимо, ибо не заметил , что отсутствует один пункт, который есть в моей задаче.
роботы объединяются так, чтобы собрать за год наибольшее количество новых роботов;
Так что нужна именно максимальная производительность, но я не понимаю, почему перебор не работает
0
Модератор
10435 / 5724 / 3405
Регистрация: 17.08.2012
Сообщений: 17,429
24.07.2014, 14:13
Да. Насчёт условия. По существующему условию максимальным должно быть количество групп из 3 роботов. Может быть, по Вашему условию, требуется максимальный выход продукции?

Насчёт тестов. Нужно смотреть, что за тестирующий сайт.

Не по теме:

Вообще, на этих сайтах тесты достаточно синтетические, зачастую притянутые за уши. По моему мнению, ничему хорошему на них научиться нельзя.



Добавлено через 1 минуту

Не по теме:

А, опоздал... Значит, всё-таки требуется максимальный выход роботов, а не как в существующем условии...

0
 Аватар для CrazzyBeer
3 / 3 / 6
Регистрация: 24.03.2014
Сообщений: 65
24.07.2014, 14:17
Я бы скинул вам ссылку, но она подвергнется звездочкизации цензуре. Это 166 задача на a c m p . r u
Сижу, в общем и мучаюсь. Опустился даже до перебора. Хотя, если поставить большие цифры - перебор будет отбирать много времени
Может и не в группах дело. Хотя, я почти уверен, что правильно вычисляю умирающих роботов
0
Модератор
10435 / 5724 / 3405
Регистрация: 17.08.2012
Сообщений: 17,429
24.07.2014, 14:34
Вроде бы, перебор не требуется...

Каждый робот делает в случае с 3 роботами 5/3=1.6(6) робота, в случае с 5 роботами 9/5=1.8 робота. Очевидно, должно быть максимальное количество групп из 5 роботов, а из 3 - сколько получится. Тогда по остатку деления общего количества роботов на 5 можно определить количество групп из 3 роботов:
0 - 0 групп;
1 - 2;
2 - 4;
3 - 1;
4 - 3.
Pascal
1
2
3
4
5
6
7
8
  case p mod 5 of
   0: g3 := 0;
   1: g3 := 2;
   2: g3 := 4;
   3: g3 := 1;
   4: g3 := 3
  end;
  g5 := (p - 3 * g3) div 5;
Так, что ли... Насчёт утилизации потом гляну.

Не по теме:

Пора на работу бежать, буду на форуме ночью.



Добавлено через 4 минуты
Да, и в условии задачи есть двойственность... Вот дано p штук новых роботов, как эти железяки решат: прямо сразу новых собирать или всё же через год?
0
 Аватар для CrazzyBeer
3 / 3 / 6
Регистрация: 24.03.2014
Сообщений: 65
24.07.2014, 14:40
Я тоже об этом думал. Когда же умирают - до сборки или после сборки?

Добавлено через 49 секунд
Я сейчас опробую вариант со смертью до сборки

Добавлено через 2 минуты
Говорится, что объединяются в начале года. Тобишь сначала собирают, а потом умирают.
А в условии ничего не говорится о ограничении в возможностях сборки
0
Модератор
10435 / 5724 / 3405
Регистрация: 17.08.2012
Сообщений: 17,429
24.07.2014, 15:02
А, знаю этот сайт... Тогда уточнённое условие задачи:
Сообщество роботов живет по следующим законам:

один раз в начале года они объединяются в группы по три или пять роботов;
за год группа из трех роботов собирает 5 новых, а группа из 5 роботов – 9 новых;
роботы объединяются так, чтобы собрать за год наибольшее количество новых роботов;
каждый робот живет ровно три года после сборки.
В начале первого года было K роботов и все они были только что собраны.

Требуется написать программу, которая найдет количество роботов в начале N-го года.

Входные данные

Входной файл INPUT.TXT содержит записанные через пробел числа K (1 ≤ K ≤ 500) и N (1 ≤ N ≤ 100).

Выходные данные

Выходной файл OUTPUT.TXT должен содержать одно число - количество роботов в начале N-го года. Количество роботов меньше, чем 231.

Примеры

INPUT.TXTOUTPUT.TXT
13 28
28 222
Ну, теперь ясно из таблички этой... Нет, не сразу собирать начинают, а в конце года, и причём так, что успевают собрать к началу следующего года. И, чтобы логически запутать тестируемого, количество роботов определяется в начале следующего года. Вот, первая строка таблицы:

Начало 1 года. Есть 3 робота;
конец 1 года. Аврал, разбиваемся на группы, собираем...;
начало 2 года. Подсчёт. Была одна группа из 3 роботов, собрала ещё 5. Всего 8.
Ура.

В голове дыра. Нигде в условии не сказано, что делать, если К=1 или К=2 или К=4.

Не по теме:

Я же говорю, ничему хорошему эти сайты не учат.

По логике, в первых двух случаях сборка роботов происходить не будет, так как для сборки требуется бригада минимум из 3 роботов, и какое бы ни было N, в начале 4 года будет К=0. Думаю, что при К=4 в конце первого года один механизм будет лениться. Вот такое следствие из условия.

Добавлено через 2 минуты

Не по теме:

Да, и пусть с ней, Вашей ссылкой... Сам же я и попросил, тем более, теперь исчезновение этого сайта или задачи №166 на нём не приведёт к потере информации для нашего форума. Не буду стирать или звёзды ставить, незачем.

0
 Аватар для CrazzyBeer
3 / 3 / 6
Регистрация: 24.03.2014
Сообщений: 65
24.07.2014, 15:02
Да. Если роботов начальных будет меньше трех, тогда в начале 4 года они умрут, а вот если 4, тогда ленится, да.
0
 Аватар для CrazzyBeer
3 / 3 / 6
Регистрация: 24.03.2014
Сообщений: 65
24.07.2014, 15:02

Вот
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2014, 15:02
Помогаю со студенческими работами здесь

Определить, через сколько лет на счету будет T рублей при заданных условиях
В банк положили на счет S рублей.Через сколько лет на счету будет T рублей,если 1)банк ежегодно начисляет на сумму вклада Z% 2)владелец...

Каждый робот живет 3 года после сборки. Сколько роботов будет через N лет?
Сообщество роботов живет по следующим законам: один раз в год они объединяются в полностью укомплектованные группы по 3 или 5 роботов...

Сообщество роботов. Сколько роботов будет через N лет
Надо решить эту задачу: Сообщество роботов живет по следующим законам: - один раз в начале года они объединяются в группы по 3 или 5...

Вычислить, сколько роботов будет через определенное количество лет
Есть определенное количество роботов (ввести с клавиатуры). В начале года они делятся на группы по 5 и по 3 работа. За год группа из 5...

Сколько роботов будет существовать через N дней
Бригада из 3 роботов собирает за 1 день еще 1 нового робота.Время жизни нового робота-5 дней,после окончания которых он погибает.Составьте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru