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

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

AC
Послано Nguyen Mai Viet Vy 11 сен 2022 14:32
source code:
#include <bits/stdc++.h>
using namespace std;
#define maxn 10000005
int n;
vector<int>a;
int b[maxn];
int CheckIsPrime(int n)
{
    if(n<2)
        return 0;
    else
    {
        if(n==2)
            return 1;
        else
        {
            if(!(n%2))
                return 0;
            else
            {
                int Sl=sqrt(n);
                for(int i=2;i<=Sl;++i)
                {
                    if(!(n%i))
                        return 0;
                }
            }
        }
    }
    return 1;
}
int main()
{
    ios_base::sync_with_stdio(NULL); cin.tie(0); cout.tie(0);
    cin>>n;
    for(int i=0;i<n;++i)
    {
        int t;
        cin>>t;
        a.push_back(t);
    }
    int ln=*max_element(a.begin(),a.end());
    int check=1;
    int i=2;
    while(ln)
    {
        if(CheckIsPrime(i))
        {
            b[check++]=i;
            ln--;
        }
        i++;
    }
    int size=a.size();
    for(int i=0;i<size;++i)
        cout<<b[a[i]]<<'\n';
    return 0;
}