ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1023. Пуговицы

AC program
Послано MSDN 21 дек 2007 12:24
It's very easy problem!
These examples are drawing solution:
K=8
f - first player
s - second player
*******
L=2
1 2 3 4 5 6 7 8
f f s f f s f f
*******
L=3
1 2 3 4 5 6 7 8
f f f s f f f s
*******
In these examples you can see  minimum L = (minimal divider of K) - 1
Code:
#include <stdio.h>
#include <math.h>
typedef unsigned long int INT;

void main()
{
    INT A,i,sq;
    scanf("%lu",&A);
    sq=(INT)powl(A,0.5);
    for(i=3;i<=sq;i++)
        if(A%i==0)
        {
            printf("%lu",i-1);
            return;
        }
    if((A%2!=0)||(A/2==2)) printf("%lu",A-1);
    else printf("%lu",A/2-1);
}

Edited by author 21.12.2007 12:25

Edited by author 21.12.2007 12:26

Edited by author 21.12.2007 12:26

Edited by author 21.12.2007 12:26