1 / 1 / 1
Регистрация: 25.07.2017
Сообщений: 98
1

Удалить каждый K элемент массива пока не останется 1 элемент

13.09.2017, 14:10. Показов 5810. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть задача удалить каждый K элемент массива пока не останется 1 уцелевший.
Вот пример вводим N к-лово элементов в нумерации от 1 до N.
Ввод:
10 3
Вывод:
4

В нашем варианте мы начнем с того, что выстроим в круг N человек, пронумерованных числами от 1 до N, и будем исключать каждого k-ого до тех пор, пока не уцелеет только один человек.
Например, если N=10, K=3, то сначала умрет 3-й, потом 6-й, затем 9-й, затем 2-й, затем 7-й, потом 1-й, потом 8-й, за ним - 5-й, и потом 10-й. Таким образом, уцелеет 4-й.
Требуется написать программу, которая по заданным N и K будет определять номер уцелевшего человека.



Заранее спасибо всем кто будет участвовать в теме.
0
Лучшие ответы (1)
13.09.2017, 14:10
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.09.2017, 14:10
Ответы с готовыми решениями:

Из последовательности удалять каждый K-ый элемент до тех пор, пока не останется одно число
Всем привет. Есть следующее задание: Данна последовательность длинной N (1, 2, ..., N). Дано число K. Из последовательности удалять...

Какой элемент останется в кольце последним, если начать по очереди удалять из списка каждый n элемент
Создать структуру с именем Subject с полями: фамилия, имя. Сформиро-вать замкнутое кольцо (односвязный список, у которого последний...

Определить, какой элемент останется в кольцевом списке последним, если по очереди удалять из списка каждый n-й элемент
Создать структуру с именем Subject с полями: фамилия, имя. Сформировать замкнутое кольцо (односвязный список, у которого последний...

2
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.09.2017, 14:13 2
Лучший ответ Сообщение было отмечено shuvadanil как решение

Решение

Классическая задача Иосифа Флавия.

Добавлено через 44 секунды
http://www.e-maxx-ru.1gb.ru/algo/joseph_problem
C++
1
2
3
int joseph (int n, int k) {
    return n>1 ? (joseph (n-1, k) + k - 1) % n + 1 : 1;
}
C++
1
2
3
4
5
6
int joseph (int n, int k) {
    int res = 0;
    for (int i=1; i<=n; ++i)
        res = (res + k) % i;
    return res + 1;
}
1
1 / 1 / 1
Регистрация: 25.07.2017
Сообщений: 98
13.09.2017, 20:54  [ТС] 3
MrGluck, Спасибо большое за помощь.Все работает.
0
13.09.2017, 20:54
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2017, 20:54
Помогаю со студенческими работами здесь

Задача Иосифа Флавия. Удалить каждый второй элемент из списка и в конце вывести на экран последний оставшийся элемент
Создать циклический список, в котором находятся элементы от 1 до N. Нужно написать программу, которая удаляет каждый второй элемент из...

Найти средний по величине элемент в множестве элементов массива, в которое входит каждый третий элемент массива
Есть массив из 100 рандомных элементов Нужно найти средний по величине элемент в множестве элементов массива, в которую входит каждый...

Рекурсивные функции. Разделение эл. массива, пока не останется 1 элемент
Вся суть в том что нужно взять массив из 10 элементом и разделить его на пополам (например от 1 до 5 и от 6 до 10) потом левую часть...

Проверить, упорядочены ли элементы, заменить первый нулевой элемент и удалить указанный элемент из массива
Найти произведение отрицательных элементов массива, следующих после первого положительного элемента. Если по какой-либо причине вычислить...

Удалить первый нулевой элемент массива и добавить после каждого чётного элемента особый элемент
Здравствуйте! Имеется такая задача: 1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
Laravel или Symfony: что лучше для старта?
Wired 18.02.2025
В веб-разработке выбор правильного фреймворка может стать определяющим фактором успеха проекта. Особенно это актуально для PHP - одного из самых распространенных языков программирования, где Laravel. . .
Что нового в Laravel 12
Wired 18.02.2025
С момента своего появления в 2011 году Laravel постоянно развивается, внедряя инновационные решения и совершенствуя существующие возможности. В начале 2025 года ожидается выход Laravel 12 - новой. . .
Роутер в Laravel: как работать с маршрутами
Wired 18.02.2025
Маршрутизация - один из основополагающих элементов любого веб-приложения на Laravel, определяющий как приложение отвечает на HTTP-запросы к различным URL-адресам. По сути, роутинг - это механизм. . .
Интеграция шаблона Bootstrap в Laravel PHP
Wired 18.02.2025
Разработка веб-приложений в современном мире требует не только надежного бэкенда, но и привлекательного, отзывчивого интерфейса. Laravel, как один из самых популярных PHP-фреймворков, отлично. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru