Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2019, 01:05   #1
Пэгги
 
Аватар для Пэгги
 
Регистрация: 20.02.2016
Сообщений: 8
По умолчанию Проверка чисел на простоту

С большими числами функция работает, а с малыми пишет, что числа не простые. Помогите найти ошибку.
Код:
 private bool IsTheNumberSimple(BigInteger n) //проверка на простоту 
        {        
            if (n == 1)
                return false;
            if (n == 2)
                return false;
            if (n % 2 == 0)
                return false;
            BigInteger s = 0, d = n - 1;
            int k = 200;
            while (d % 2 == 0)
            {
                d /= 2;
                s++;
            }
            var rand = new Random();
            for (int i = 0; i < k; i++)
            {
                BigInteger a = rand.Next();
                BigInteger x = BigInteger.ModPow(a, d, n);
                if (x == 1 || x == n - 1)
                    continue;
                for (BigInteger j = 0; j < s - 1; j++)
                {
                    x = (x * x) % n;
                    if (x == 1)
                        return false;
                    if (x == n - 1)
                        break;
                }
                if (x != n - 1)
                    return false;
 
            }
            return true;            
        }
Пэгги вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Номер элемента массива.Проверка на простоту 9398 Visual C++ 1 19.02.2016 14:57
Проверка чисел на простоту и проверку на наличие общих цифр в записи Temmy Общие вопросы C/C++ 3 11.01.2013 22:41
проверка чисел на простоту neeble Помощь студентам 3 10.03.2012 17:36
Проверка чисел на простоту. Не работает условие. krab777 Общие вопросы Delphi 2 06.06.2011 09:33
Проверка большого нат. числа на простоту PastoriXx Общие вопросы .NET 5 30.05.2010 21:04