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

Обсуждение задачи 1086. Криптография

Why Runtime error(access violation)
Послано Iqramul Islam 29 окт 2018 23:46
#include <iostream>
#include <math.h>
using namespace std;

int Prime[15000], nPrime;
int mark[15000];

void sieve(int n)
{
    int i, j, limit=sqrt(15000)+2;

    mark[1]=1;  ///mark is not prime...so...

    for(i=4; i<=n; i+=2)
        mark[i]=1;

    Prime[nPrime++]=2;

    for(i=3; i<=n; i+=2)
        if(!mark[i])
        {
            Prime[nPrime++]=i;
            if(i<=limit)
            {
                for(j=i*i; j<=n; j+=i*2)
                    mark[j]=1;
            }
        }
}

int main()
{
    sieve(15000);
    int n;
    cin >> n;
    int arr[2000];
    //cout << Prime[n-1] << endl;

    for(int i=0; i<n; i++)
        {
            cin >> arr[i];
        }
    for(int i=0; i<n; i++)
        cout << Prime[arr[i]-1] << endl;

        return 0;
}