Поиск простейшего числа, меньше случайно сгенерированного n - C#

Узнай цену своей работы

Формулировка задачи:

Вопрос мне кажется банальным, но чего-то я не могу понять где не прав. Пытаюсь написать поиск простейшего числа, меньше случайно сгенерированного n.
Random rand_n = new Random(2);
Int32 n = rand_n.Next(256, 1000);
while (j == 1 & i>1)
            {
 
                if (ifPrime(i))
                { //если число простое
                    p = i;        //записываем простое число                  
                    j = 0;//выход из цикла                    
                    return;
                }
                i--;//если не простое отнимаем 1 
               
            }
 p_edit.Text = "p="+Convert.ToString(p);
Не срабатывает выход из цикла (j=0) и я не получаю желаемого p в поле p_edit. Подскажите, товарищи.
ifPrime() проверяет число на простоту и выдаёт булево значение.
private bool ifPrime(BigInteger x)
        {
            BigInteger i;
            bool k = true;
 
            for (i = 2; i < x; i++)
            {
                if (x % i == 0)
                {
                    k = false;
                }
            }
            return k;
        }

Решение задачи: «Поиск простейшего числа, меньше случайно сгенерированного n»

textual
Листинг программы
...
Int32 n = rand_n.Next(256, 1000);
            i = n;
            while (j == 1 & i > 1)
...

Оцени полезность:

15   голосов , оценка 4 из 5
Похожие ответы