Ввод
Первая строка стандартного ввода содержит натуральное число n (1 ≤ n ≤ 10 000). ), представляющий длину последовательности a. В следующей строке записаны n натуральных чисел (от 1 до 1 миллиарда), разделенных пробелами, которые являются элементами последовательности a в порядке их умножения на текущее число на доске.
Вывод
Для каждого элемента последовательности a в порядке ввода выведите yes, если его произведение на текущее число на доске является полным квадратом, в противном случае выведите no. Ограничение по времени — 0,1 секунды.
Кажется, я не могу решить эту задачу; Я продолжаю получать сообщение об ошибке превышения лимита времени. Может ли кто-нибудь помочь мне с решением на C#? введите сюда описание изображения
Код: Выделить всё
using System;
using System.Collections.Generic;
class Program
{
static int MAX = 1000000; // Podesimo maksimalnu granicu
static List prostiBrojevi = new List();
// Generišemo proste brojeve do MAX koristeci Eratostenovo sito
static void EratostenovoSito()
{
bool[] daLiJeProst = new bool[MAX + 1];
for (int i = 2; i
Подробнее здесь: [url]https://stackoverflow.com/questions/79057338/can-someone-help-me-solve-the-problem-in-c[/url]