Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 43, средняя оценка - 4.67
Вилен
172 / 0 / 0
Регистрация: 09.10.2007
Сообщений: 5
#1

Задача Иосифа - C++

26.11.2007, 21:16. Просмотров 5731. Ответов 2
Метки нет (Все метки)

Что-то жесткая задача...
По кругу располагаются n=20 человек. Ведущий считает по кругу, начиная с первого, и выводит («казнит») m-го человека. Круг смыкается, счет возобновляется со следующего после «казненного»; так продолжается, пока «в живых» останется только один человек. Найти номер оставшегося «в живых» человека, а также найти такое m>1, при котором «в живых» останется первый.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2007, 21:16     Задача Иосифа
Посмотрите здесь:

Задача Иосифа Флавия - C++
Всем привет. Помогите пожалуйста с этой задачей. Никак допедрить не могу. вот код: #include<iostream> #include<locale.h> ...

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

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

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

Написать алгоритм Иосифа Флавия, используя очередь - C++
Сущ-т легенда что Иосиф Флавий выжил и стал известным благодоря математической одаренности. В ходе Иудейской войны он в составе отряда из...

Задача Иосифа Флавия - Python
100 человек стоят по кругу, им присвоены номера от 1 до 100. Они начинают считаться и каждый 19-й по счету выходит из круга. Таким...

Задача Иосифа Флавия - Дискретная математика
Хмм, а что вы думаете о нем и его задаче? Очень интересно Ваше мнение т.к. пишу по этой теме работу

Задача Иосифа Флавия - C (СИ)
(Считалка) n детей размещаются по кругу. Начиная отсчет от первого, исключают каждого k-го, закрывая круг после каждого исключения....

Задача Иосифа Флавия - PascalABC.NET
По окружности в направлении движения часовой стрелки расположены n последовательных натуральных чисел от 1 до n . При перемещении по числам...

Задача Иосифа Флавия - VBA
Помогите написать общую программу по этой задаче Задача Иосифа Флавия или считалка Джозефуса — известная математическая задача с...

Задача Иосифа Флавия с использованием списков - Free Pascal
Народ, добрый день, вот код программы: program legend; uses crt; type pItem = ^tItem; tItem = record data: byte; ...

Математическое моделирование. Задача Иосифа Флавия - Turbo Pascal
Задача Иосифа Флавия: Существует легенда, что Иосиф Флавий - известный историк первого века - выжил и стал известным благодаря...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nikita
1 / 1 / 0
Регистрация: 13.11.2007
Сообщений: 31
28.11.2007, 15:53     Задача Иосифа #2
Казнить предлагаю рекурсивно. Что касается касакется m>1 найти методом простого перебора.
guestonearth
3 / 3 / 2
Регистрация: 18.03.2010
Сообщений: 12
18.03.2010, 17:11     Задача Иосифа #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вычисление за О(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
#include<stdio.h>
 
using namespace std;
 
int winchair(int n, int k) {
 
     int res = 0;
     for (int i=1; i<=n; ++i)
         res = (res + k) % i;
     return ++res;
 }
 
int main(){
    int n,k;
    while (1){ 
 
        scanf("%d %d",&n,&k);
        if (n==0 && k==0) break;
        if (n==1) printf("1\n");
        else printf("%d %d %d\n",n,k,winchair(n,k));
    }
    return 0;
}
где n - количество солдат(или стульев :-D ) а к - какого нужно убивать
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru