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

Обсуждение задачи 1104. Не спрашивай даму о возрасте

WA#4
Послано evil 11 сен 2016 17:06
The following is my program,i want to know why it always be "wrong answer".


#include <stdio.h>
#include <string.h>
#include <math.h>
int main()
{
    int i,k,m,n;
    double s;
    bool f,t;
    char a[100000];
    while(scanf("%s",a)!=EOF)
    {
        int d=strlen(a);
        char max=a[0];
        for(i=1;i<d;i++)
        {
            if(a[i]>max)
                max=a[i];
        }
        if(max>='A'&&max<='Z')
            m=max-65+10;
        else m=max-'0';
        for(k=2;k<=36;k++)
        {
            s=0;
            f=false;
            t=true;
            if(m>=k)
                continue;
            for(i=0;i<d;i++)
            {
                if(a[i]>='A'&&a[i]<='Z')
                    n=a[i]-65+10;
                else
                    n=(int)a[i]-48;
                if(n==0&&t)
                    continue;
                else t=false;
                s=s+n*pow(k,d-i-1);
            }

            if((int)s%(k-1)==0)
            {
                f=true;
                break;
            }
        }
        if(f)
            printf("%d\n",k);
        else
            printf("No solution.\n");
    }
    return 0;
}