using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ex_4
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите уровень пароля (от 1 до 5)\n");
try
{
int level = Convert.ToInt32(Console.ReadLine());
List<string> p = new List<string>();
int count = 0;
switch(level)
{
case 1:{
for(int i=2;i<=9;i++)
if(isprime(i))
p.Add(Convert.ToString(i));
};break;
case 2:{
for(int i=10;i<=99;i++)
if(isprime(i))
p.Add(Convert.ToString(i));
};break;
case 3:{
for(int i=100;i<=999;i++)
if(isprime(i))
p.Add(Convert.ToString(i));
};break;
case 4:{
for(int i=1000;i<=9999;i++)
if(isprime(i))
p.Add(Convert.ToString(i));
};break;
case 5:{
for(int i=10000;i<=99999;i++)
if(isprime(i))
p.Add(Convert.ToString(i));;
};break;
}
for (int i = 0; i < p.Count; i++)
count++;
for (int j = 0; j < count - 2; j++)
{
Console.WriteLine(p[j] + p[j + 1] + p[j + 2]);
}
Console.WriteLine("Количество паролей "+(count-2));
}catch
{
Console.WriteLine("Ошибка ввода данных\n");
}
Console.ReadLine();
}
public static bool isprime(int n)
{
for (int d = 2; d * d <= n; d++)
{
// если разделилось нацело, то составное
if (n % d == 0)
return false;
}
// если нет нетривиальных делителей, то простое
return true;
}
}
}