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

Обсуждение задачи 1243. Развод семи гномов

Accepted (Visual C++)
Послано Vensus 16 ноя 2013 14:46
#include <iostream>
using namespace std;


int main()
{
    int k = 0;
    long long int s = 0;
    char num[52];
    int arr[51];
    bool flag = true;
    cin >> num;
    for(int i = 0; flag; i++)
    {
        switch(num[i])
        {
            case '0':
            {
                arr[i] = 0;
                k++;
                break;
            }
            case '1':
            {
                arr[i] = 1;
                k++;
                break;
            }
            case '2':
            {
                arr[i] = 2;
                k++;
                break;
            }
            case '3':
            {
                arr[i] = 3;
                k++;
                break;
            }
            case '4':
            {
                arr[i] = 4;
                k++;
                break;
            }
            case '5':
            {
                arr[i] = 5;
                k++;
                break;
            }
            case '6':
            {
                arr[i] = 6;
                k++;
                break;
            }
            case '7':
            {
                arr[i] = 7;
                k++;
                break;
            }
            case '8':
            {
                arr[i] = 8;
                k++;
                break;
            }
            case '9':
            {
                arr[i] = 9;
                k++;
                break;
            }
            case '\0':
            {
                flag = false;
                break;
            }
        }
    }
    for(int i = k-1; i+1 > 6;)
    {
        s = s + arr[i];
        s = s + arr[i-1]*3;
        s = s + arr[i-2]*2;
        s = s + arr[i-3]*6;
        s = s + arr[i-4]*4;
        s = s + arr[i-5]*5;
        i = i - 6;
        k = k - 6;
    }
    if(k > 0)
    {
        s = s + arr[k-1];
        k--;
    }
    if(k > 0)
    {
        s = s + arr[k-1]*3;
        k--;
    }
    if(k > 0)
    {
        s = s + arr[k-1]*2;
        k--;
    }
    if(k > 0)
    {
        s = s + arr[k-1]*6;
        k--;
    }
    if(k > 0)
    {
        s = s + arr[k-1]*4;
        k--;
    }
    if(k > 0)
    {
        s = s + arr[k-1]*5;
        k--;
    }
    cout << s%7;
    return 0;
}

Edited by author 16.11.2013 14:57

Edited by author 16.11.2013 14:57
Re: Accepted (Visual C++)
Послано ძამაანთ [Tbilisi SU] 16 ноя 2013 15:42
print input()%7
: ]]
Re: Accepted (Visual C++)
Послано ELDVN 2 ноя 2015 00:01
Thats all ;)
char c,ans;
main(){
       for(;(c=getchar())!='\n';ans=(ans*10+c-'0')%7);
       printf("%u\n",ans);

    return 0;
}