Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 10
1

Объяснение кода задача Иосифа

25.10.2019, 08:03. Показов 810. Ответов 3

Author24 — интернет-сервис помощи студентам
Всем привет. Есть код взятый с форума. Суть очень похожа на задачу Иосифа, то есть, удаляется каждый N-ый элемент, пока не останетесь только один. Помогите пожалуйста разобрать Код, не совсем понимаю как он работает.
C++
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
38
39
40
 #include <iostream>
 
int main()
{
   int n, k;
   
   std::cout << "Введите длину последовательности: ";
   std::cin >> n;
   
   std::cout << "Введите число k: ";
   std::cin >> k;
   
   int *arr = new int[n];
   for (int i = 0; i < n; ++i)
      arr[i] = i + 1; //заполняет каждый элемент массива его индексом+1
   
   int count = 0, j;
   for (int i = 0; n > 1; ++i)
   {
      if (i >= n) i = 0;
      ++count;
      if (count == k)
      {
         //std::cout << arr[i] << std::endl; // проверка
         for (int l = i; l < n-1; ++l)
         {
            j = l + 1;
            if (j >= n) j = 0;
            arr[l] = arr[j];
         }
         --i;
         --n;
         count = 0;
      }         
   }
   std::cout << arr[0] << std::endl;
   delete[] arr;
   
   return 0;
}
Добавлено через 56 минут
Очень нужна помощь, подскажите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2019, 08:03
Ответы с готовыми решениями:

Задача Иосифа
Что-то жесткая задача... По кругу располагаются n=20 человек. Ведущий считает по кругу, начиная с...

Задача иосифа флавия
N человек играют в следующую игру: стоя в кругу они начинают считалку. Счёт идёт до числа M....

Задача Иосифа Флавия
Здравствуйте! Пытаясь ответить на вопрос одного из пользователей данного форума, решил в лоб...

Задача Иосифа Флавия
Всем привет. Помогите пожалуйста с этой задачей. Никак допедрить не могу. вот код: ...

3
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
25.10.2019, 11:01 2
Flymq1, огласите полное условие
0
0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 10
25.10.2019, 11:06  [ТС] 3
Цитата Сообщение от outoftime Посмотреть сообщение
Flymq1, огласите полное условие
Данна последовательность длинной N (1, 2, ..., N). Дано число K. Из последовательности удалять каждый K-ый элемент до тех пор, пока в последовательности не останется одно число. Причем счет до этого эламента K, начинается с элемента, который идет следующим после удаленного. Пример:

N = 10, K = 3

В скобках находится число, которое нужно удалить из последовательности.

1st round: 1 2 (3) 4 5 (6) 7 8 (9) 10
2nd round: 1 (2) 4 5 (7) 8 10
3rd round: (1) 4 5 (8) 10
4th round: 4 (5) 10
5th round: 4 (10)

Последним остается число - 4.
0
║XLR8║
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
25.10.2019, 11:09 4
Flymq1, Из последовательности удалять каждый K-ый элемент до тех пор, пока не останется одно число читайте, вникайте
0
25.10.2019, 11:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2019, 11:09
Помогаю со студенческими работами здесь

Задача Иосифа Флавия
Здравствуйте. Помогите пожалуйста реализовать такую задачу через списки: По кругу становятся...

Циклический список и задача Иосифа
Здравствуйте, подскажите, пожалуйста,пыталась решить задачу, но никак не выходит. В основном не...

Задача Иосифа Флавия, решение циклическим списком
http://andrei-sapeshko.blogspot.ru/2013/04/blog-post.html тут есть пример, но он немного...

Алгоритм нахождения главного элемента из списка (задача Иосифа Флавия)
Выписал алгоритм,называется ф-ция Иосифа. Смысл такой,что N=9 M=5 . Допустим есть 9 человек в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru