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

Обсуждение задачи 1049. Отважные воздухоплаватели

CRASH !! (Access_Violation)
Послано ABZee 3 май 2003 20:18
#include"stdio.h"

int main()
{

    int i,j,tmp,sum=1;
    int count[6000]={0};

//input&run
    for(i=0;i<10;i++){
        scanf("%d",&tmp);
        for(j=2;j<tmp/2;j++)
            if(tmp%j==0){
                count[j]++;
                tmp/=j;
                j=1;
            }
        count[tmp]++;
    }

    for(i=2;i<5000;i++)
        if(count[i]!=0){
            sum*=count[i]+1;
            sum%=10;
        }


//output
    printf("%d",sum);

    return(0);
}

What's wrong with mine?
OK, It's my false. Too small array size.
Послано ABZee 3 май 2003 23:08
> #include"stdio.h"
>
> int main()
> {
>
>     int i,j,tmp,sum=1;
>     int count[6000]={0};  <<< here
>
> //input&run
>     for(i=0;i<10;i++){
>         scanf("%d",&tmp);
>         for(j=2;j<tmp/2;j++)
>             if(tmp%j==0){
>                 count[j]++;
>                 tmp/=j;
>                 j=1;
>             }
>         count[tmp]++;
>     }
>
>     for(i=2;i<5000;i++)   <<and here
>         if(count[i]!=0){
>             sum*=count[i]+1;
>             sum%=10;
>         }
>
>
> //output
>     printf("%d",sum);
>
>     return(0);
> }
>
> What's wrong with mine?