136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
1

Сообщество роботов. Сколько роботов будет через N лет

28.12.2012, 16:30. Показов 3795. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Надо решить эту задачу: Сообщество роботов живет по следующим законам:

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

Сколько роботов будет через N лет?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
28.12.2012, 16:30
Ответы с готовыми решениями:

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

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

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

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

13
6173 / 938 / 310
Регистрация: 25.02.2011
Сообщений: 1,373
Записей в блоге: 1
29.12.2012, 02:26 2
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
INPUT "Robotov"; a
INPUT "Let"; n
FOR i = 2 TO n
    d = a + b + c
    IF d < 3 THEN d = 0
    IF d = 4 OR d = 7 THEN d = d - 1
    m = d MOD 5
    c = b
    b = a
    a = d * 2 - d \ 5 - m MOD 3 - m \ 3
NEXT i
PRINT "Cherez"; n; "let budet"; a + b + c; "robotov"
Алгоритм реально рабочий но объяснять как работает программа мне не хочется, проверено только что здесь (по размеру кода на Basic уверено лидирую по сравнению с кодами на C++ и Pascal других участников, жаль что не по скорости, здесь C++ вне конкуренции)
0
136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
29.12.2012, 08:15  [ТС] 3
что то твой алгоритм не работает
0
59 / 56 / 37
Регистрация: 02.04.2012
Сообщений: 131
29.12.2012, 08:43 4
Тесты есть?

Добавлено через 3 минуты
QBasic/QuickBASIC
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
INPUT k
INPUT n
DIM r(1 TO 3)
r(1) = k
r(2) = 0
r(3) = 0
s = k
FOR i = 1 TO n
 x = INT(s / 3)
 p = s MOD 3
 IF p = 0 THEN
  y = 0
 ELSE
 IF p = 1 THEN
  x = x - 3
  y = 2
 ELSE
  x = x - 1
  y = 1
 END IF
 END IF
 r(3) = r(2)
 r(2) = r(1)
 r(1) = 5 * x + 9 * y
 s = r(1) + r(2) + r(3)
NEXT i
PRINT s
0
136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
29.12.2012, 08:50  [ТС] 5
если k=3 а n=1 тогда твоя прога выводит 8 а должно выйти 5
0
59 / 56 / 37
Регистрация: 02.04.2012
Сообщений: 131
29.12.2012, 08:54 6
В сети нашел два способа решение задачи на Pascal. Код совсем разный, но ответ идет везде 8.
0
136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
29.12.2012, 08:56  [ТС] 7
почему в задаче же сказано что за год группа из трех 3 роботов собирает 5 новых
0
59 / 56 / 37
Регистрация: 02.04.2012
Сообщений: 131
29.12.2012, 09:03 8
А куда вы дели самых первых роботов?

Добавлено через 4 минуты
Если группа из 3 собирает 5 роботов, то будет 8. В сумму входят первые 3 робота и 5 роботов, которые они успели собрать за один год
1
136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
29.12.2012, 09:08  [ТС] 9
ну да извините не расчитал

Добавлено через 4 минуты
спасибо за код
0
6173 / 938 / 310
Регистрация: 25.02.2011
Сообщений: 1,373
Записей в блоге: 1
29.12.2012, 09:12 10
Цитата Сообщение от АББА Посмотреть сообщение
что то твой алгоритм не работает
В смысле не рабочий, указал ссылку (http://acmp.ru/index.asp?main=task&id_task=166), где точно такуюже задачу прошел данным алгоритмом все 20 тестов:


Возможно не правильно определяем что значит через n лет?
на acmp.ru в условиях это означает для примера 11 роботов 7 лет - ответ 4442
по годам:
1 - 11
2 - 30
3 - 84
4 - 223
5 - 605
6 - 1640
7 - 4442

т.е. в 1 год кол-во не меняется, новые еще не собраны, если Вам нужно, что при n=0 ничего не меняется, а при 1 годе уже происходит сборка и стареют (умирают) роботы то измените цикл For i=2 ..., на For i=1
Миниатюры
Сообщество роботов. Сколько роботов будет через N лет  
1
136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
29.12.2012, 09:19  [ТС] 11
если кол роботов 3 твой написанный код выводит 1 год 3 робота
0
6173 / 938 / 310
Регистрация: 25.02.2011
Сообщений: 1,373
Записей в блоге: 1
29.12.2012, 09:29 12
Цитата Сообщение от АББА Посмотреть сообщение
если кол роботов 3 твой написанный код выводит 1 год 3 робота
я уже ответил на этот вопрос, если нужно 8, то код будет таким:
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
INPUT "Robotov"; a
INPUT "Let"; n
FOR i = 1 TO n
    d = a + b + c
    IF d < 3 THEN d = 0
    IF d = 4 OR d = 7 THEN d = d - 1
    m = d MOD 5
    c = b
    b = a
    a = d * 2 - d \ 5 - m MOD 3 - m \ 3
NEXT i
PRINT "Cherez"; n; "let budet"; a + b + c; "robotov"
1
136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
29.12.2012, 09:34  [ТС] 13
ну спасибо

Добавлено через 57 секунд
работает нормально
0
6173 / 938 / 310
Регистрация: 25.02.2011
Сообщений: 1,373
Записей в блоге: 1
29.12.2012, 09:55 14
IUMag, у Вас в программе нет проверки на значения k = 1, 2, 4, 7
При k=4, n=1 ответ должен быть 9, а не 12
При k=7, n=1 ответ должен быть 17, а не 20
При k=1 или k=2 и для n>2 роботы умирают, т.к. новые родиться не могут, а те что были умрут от старости
0
29.12.2012, 09:55
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
29.12.2012, 09:55
Помогаю со студенческими работами здесь

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

Дочери в настоящее время 8 лет, а матери 38. Через сколько лет мать будет втрое старше дочери?
линейный алгоритм 1. Дочери в настоящее время 8 лет, а матери 38. Через сколько лет мать будет...

Определить минимальное время, через которое может произойти встреча всех роботов
Задача: Между N пунктами (N&lt;=50) заданы дороги длиной A(i,j), где I,J-номера пунктов. Дороги...

Через сколько лет будет погашен кредит
Через сколько лет будет погашен кредит. скажем: известны: C - начальная сумма F - годовой...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

Блоги программистов
Как использовать GraphQL в C# с HotChocolate
Programming 05.01.2025
GraphQL — это современный подход к разработке API, который позволяет клиентам запрашивать только те данные, которые им необходимы. Это делает взаимодействие с API более гибким и эффективным по. . .
Модель полного двоичного суматора с помощью логических операций (python)
AlexSky-coder 04.01.2025
def binSum(x:list, y:list): s=^y] p=x and y for i in range(1,len(x)): s. append((x^y)^p) p=(x and y)or(p and (x or y)) return s x=list() y=list()
Это мы не проходили, это нам не задавали...(шес­­­­­­тиби­тный асихронный счётчик с управляющим сигналом задержки).
Hrethgir 04.01.2025
Асинхронный счётчик на сумматорах (шестиразрядный по числу диодов на плате, но наверное разрядов будет больше - восемь или шестнадцать, а диоды на старшие), так как триггеры прошли тестирование и. . .
Руководство по созданию бота для Телеграм на Python
IT_Exp 04.01.2025
Боты для Телеграм представляют собой автоматизированные программы, которые выполняют различные задачи, взаимодействуя с пользователями через интерфейс мессенджера. В данной статье мы рассмотрим,. . .
Применение компонентов PrimeVue в Vue.js 3 на TypeScript
BasicMan 04.01.2025
Введение в PrimeVue и настройка окружения PrimeVue представляет собой мощную библиотеку компонентов пользовательского интерфейса для Vue. js 3, которая предоставляет разработчикам богатый набор. . .
Как стать Senior developer
cpp_developer 04.01.2025
В современной индустрии разработки программного обеспечения позиция Senior Developer представляет собой не просто следующую ступень карьерной лестницы, а качественно новый уровень профессионального. . .
Что известно о дате выхода Windows 12 и чего от нее ждать
IT_Exp 04.01.2025
В мире технологий постоянно происходят изменения, и операционные системы не являются исключением. Windows 11, выпущенная в октябре 2021 года, принесла множество инноваций и улучшений, но. . .
Что новенького в .NET Core 9
Programming 04.01.2025
Обзор ключевых изменений в . NET Core 9 Платформа . NET Core продолжает активно развиваться, и версия 9 представляет собой значительный шаг вперед в эволюции этой технологии. Новый релиз. . .
Инструкция по установке python3.13.1 в Debian 12
AlexSky-coder 03.01.2025
sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget. . .
Затестил триггеры. архив проекта прилагаю с GOA файлами в настройках архиватора проектов.
Hrethgir 03.01.2025
В этот раз нет закольцованности, потому что от неё только глюки, как я понял, логика не вырезанная. Триггеры очень быстрые если верить измерениям с помощью анализатора от Gowin. Есть ещё регистры,. . .
Python в помощь DevOps
IT_Exp 03.01.2025
Причины использования Python в работе DevOps Python стал неотъемлемой частью мира DevOps, и это не случайно. Этот язык программирования обладает множеством преимуществ, которые делают его. . .
Angular vs React vs Vue.js
BasicMan 03.01.2025
О, друзья-разработчики и просто любопытные читатели! Сегодня мы отправимся в увлекательное путешествие по миру фронтенд-разработки, и первой остановкой станет Angular – этакий строгий немецкий. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru