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

Игра «Пуговицы» - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ "Надзор" за печатной продукцией http://www.cyberforum.ru/cpp-beginners/thread1091028.html
С намерением приобщиться к сообществу программистов я установил MS Visual Studio 2010 Express, взял книгу Румянцева П. В. "Азбука программирования в Win32 API", открыл её на стр. 10 и ввёл...
C++ Найти в массиве минимальный и максимальный элементы. Вывести в порядке возрастания все целые числа из интервала Помогите,ПОЖАЛУЙСТА!!!!!!!! Заданный массив целых чисел K (n). Найти в нем минимальный kmin и максимальный kmax элементы. Вывести в порядке возрастания все целые числа из интервала (kmin, kmax),... http://www.cyberforum.ru/cpp-beginners/thread1091006.html
C++ Начинающему
Выбрал специальность для поступления. Узнал, что к началу обучения уже требуют хорошее знание си ++ . Я вообще не программировал до этого. Списывание на информатике в бэйсике программированием не...
Задача на С++ C++
Вася и Петя учатся в школе в одном классе. Недавно Петя поведал Васе о хитром способе возведения в квадрат натуральных чисел, оканчивающихся на цифру 5. Теперь Вася может с легкостью возводить в...
C++ класс исключений http://www.cyberforum.ru/cpp-beginners/thread1090998.html
class exception { public: exception() throw(); exception(const bad_exception &ob) throw(); virtual -exception() throw(); exception &operator=(const exception &ob) throw(); virtual const...
C++ Сформировать двумерный массив. Удалить из него столбец с заданным но-мером Сформировать двумерный массив. Удалить из него столбец с заданным но-мером Помогите организовать удаление. #include "stdafx.h" #include<iostream> #include<ctime> using namespace std; int... подробнее

Показать сообщение отдельно
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78

Игра «Пуговицы» - C++

07.02.2014, 20:09. Просмотров 328. Ответов 0
Метки (Все метки)

Кликните здесь для просмотра всего текста
Игра «Пуговицы»
(Время: 0,5 сек. Память: 16 Мб Сложность: 48%)

Правила игры очень просты. Перед двумя играющими находится кучка из K пуговиц. Играющие по очереди берут пуговицы из кучки, причем за один ход каждый из них может взять от 1 до L пуговиц. Выигрывает тот из спортсменов, которому удастся взять последнюю пуговицу.

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

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

Во входном файле INPUT.TXT записано одно натуральное число K (1 ≤ K ≤ 108) – общее количество пуговиц.
Выходные данные

В выходной файл OUTPUT.TXT необходимо вывести целое число L (2 ≤ L < K) — максимальное количество пуговиц, которое можно взять за один ход, обеспечивающее победу второму игроку. Если таких чисел несколько, то следует вывести наименьшее из них. Если таких чисел нет, то следует вывести число 0.
Примеры
№ INPUT.TXT OUTPUT.TXT
1 3 2
2 26 12
3 31 30

и есть код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <fstream>
#include <math.h>
int L (int n){
    for ( int i=3; i <= sqrt (n * 1.0); i++ )
        if ( n % i == 0 ) return i - 1;
 
    return  n == 4 ? 3 : n % 2 >0 ? n - 1 : n / 2 - 1;
}
 
main (int n){
    std::fstream q("input.txt"),o("output.txt",2);
    q>>n;
    o<<L(n);
}
Размер кода: 194
скоратить! плз

Добавлено через 22 часа 6 минут
мда
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru