Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 12.01.2018
Сообщений: 23

Найти номер человека который останется в живых

17.10.2018, 12:53. Показов 4722. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот задача
One of the talents that Josephus Flavius possessed was the mathematical skill, which according to legend saved his life. When the Romans trapped 40 of Flavius's followers and him, they made a death pact in which the Romans would not get them, they rather be dead. They took deadly counts in a circle of soldiers. Each third was killed. The count continued until one man was left. It was man who took 31st place in that circle. Yes, It was Flavius. He had another opinion about life, death and his special assignment in this war. Below you see the tool, which can calculate for you any amount of numbers for any picked out number and for any number left (less than total, of course). Just remember, Flavius quickly solved such a problem in his head without any computer program. Hopefully you will never be at needs to use this tool for saving your life but maybe you'll find another reason to use it.
Task: find the location(index) of the single person who remained alive.

Input.
First line contains N and M: 1<=N<=500, 1<=k<=100.


Output:
Location(index) of the single person who remained alive.

Если не сложно, можете код написать к этой задаче
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.10.2018, 12:53
Ответы с готовыми решениями:

При чистой установке windows 8 "останется в живых" диск D:/?
При выборе во время установки &quot;Ничего не сохранять&quot; удалится информация с диска D:/ а то сообщения что удалятся ВСЕ данные меня пугают. По...

Считалочка - выбытие игроков, пока не останется три человека
В круг выстраивается N-человек (N&lt;50000). Начиная с первого, неизменно движутся по кругу и исключают каждого М-ого. Когда кто-то выбывает,...

В каждой строке матрицы найти максимум и его номер, затем номер элемента, который меньше (макс/2) и узнать его номер
Не можете подсказать, как все сделать в цикле Имеется матрицы, нужно в каждой строке найти максимум и его номер, затем найти номер...

8
75 / 59 / 31
Регистрация: 20.03.2017
Сообщений: 351
17.10.2018, 13:25
scorpionid,
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
#include <iostream>
#include <algorithm>
#include <vector>
 
int JeosifFunc(std::vector <int>, unsigned int);
 
int main()
{
    std::vector <int> a;
    unsigned int n, k;
    std::cout << "Enter the number of people N: "; std::cin >> n;
    std::cout << "Enter what account of the person to clean up K: "; std::cin >> k;
    int init = 1;
 
    std::generate_n(back_inserter(a), n+1, [&]
    {
        return init++;
    });
    std::cout << JeosifFunc(a, k)  << " survivor" << std::endl;
 
    system("pause");
    return 0;
}
 
int JeosifFunc(std::vector <int> a, unsigned int k)
{
    for (unsigned int i=a.size(); i>1; i--)
    {
        if(k > a.size())
            k = a.size() % k - 1;
 
        a.erase(a.begin() + k - 1);
        for (unsigned int i = 0; i < (k - 1); i++)
            a.push_back(a[i]);
 
        a.erase (a.begin(), a.begin() + k - 1);
    }
    return a[0];
}
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
17.10.2018, 13:43
Мой вольный перевод задачи:
Одним из талантов, которыми обладал Иосиф Флавий, было математическое умение, которое, согласно легенде, спасло его жизнь.

Римляне захватили 40 последователей Флавия и его и поставили всех в круг. Каждый третий был убит. Процесс продолжался до тех пор, пока не остался один человек. Этот человек был на 31-ом месте в этом кругу. И это был Флавий.

Создайте программу, которая может определить номер оставшегося в живых для любого исходного количества солдат и любого кратного.

Просто помните, Флавий быстро решил такую проблему в своей голове без какой-либо компьютерной программы.
Надеюсь, вам никогда не понадобится использовать этот инструмент для спасения вашей жизни, но, возможно, вы найдете другую причину для его использования.
Задача: найти местоположение того человека, который останется в живых.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
17.10.2018, 14:20
zss, спасибо)
чёт я никак не найду, где тут кнопка ставить плюсик.
так что так, словами)

интересная задачка)
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
17.10.2018, 15:55
hoggy, Вы меня удивляете:
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
17.10.2018, 16:17
Цитата Сообщение от zss Посмотреть сообщение
Вы меня удивляете:
дык, в том то и дело, что нет у меня такой кнопки.

Кликните здесь для просмотра всего текста
может потому что я злостный рецидивист-нарушитель?
вот решила меня наказать администрация: людям спасибо говорить запретила.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
17.10.2018, 16:19
мой скриншот)
Миниатюры
Найти номер человека который останется в живых  
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
17.10.2018, 16:44
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
#include<iostream>
#define max 500
int main()
{
    int n, m, count;
    std::cin >> n>>m;
    count = n;
    bool dead[500];
    for (int i = 0; i < n; ++i)
        dead[i] = false;
    int i = 0, j=0;
    while (count != 1)
    {
        while (j != m)
        {
            ++i;
            if (i == n) i = 0;
            if (!dead[i]) ++j;
        }
        dead[i] = true;
        j = 0;
        --count;
    }
    for (int i = 0; i < n; ++i)
        if (!dead[i]) std::cout << "alive: " << i << std::endl;
    return 0;
}
0
0 / 0 / 0
Регистрация: 12.01.2018
Сообщений: 23
17.10.2018, 17:00  [ТС]
Kuzia domovenok, а можете подробно объяснить этот код?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2018, 17:00
Помогаю со студенческими работами здесь

Известны год и номер месяца рождения человека, определить возраст человека
Известны год и номер месяца рождения человека, а также год и номер месяца сегодняшнего дня (январь – 1 и т.д.). Определить возраст человека...

Найти имя человека, который умрет последним
Разрешить &quot;Проблему Джозефа&quot;. Она Состоит В Следующем: Представьте Себе, Что N Человек Решили Совершить Массовое Самоубийство,...

Найти человека, который написал статью на сайте
Добрый день Подскажите пожалуйста как можно найти человека и(или) место откуда этот человек выложил информацию на какой либо сайт...

SVN найти человека, который добавил данную строчку
Работаю над проектом в команде из 6-10 челвек и часто такое бывает, что кто-то написал непонятный комментарий или еще что-то в этом роде, и...

найти номер телефона человека с заданной фамилией
Задали нам задачку в институте.. А препод даже не пришел на лекцию и не рассказал что как.. ПОмогите студенту, пожалуйсто. Операция:...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru