Модульное возведение в степень
c = powermod( возвращает модульное возведение в степень a mod b m. Вход a,b,m)a,b должны быть целые числа и m должно быть неотрицательное целое число. Для получения дополнительной информации смотрите Модульное Возведение в степень.
Вычислите модульное возведение в степень a mod b m при помощи powermod. powermod функция эффективна, потому что она не вычисляет экспоненциальный a b.
c = powermod(3,5,7)
c =
5Небольшая теорема Ферма утверждает, что, если p является главным и a не является делимым p, то a (p –1) ультрасовременный p равняется 1.
Протестируйте небольшую теорему Ферма на p = 5, a = 3. Как ожидалось, powermod возвращает 1.
p = 5; a = 3; c = powermod(a,p-1,p)
c = 1
Протестируйте тот же случай на все значения a меньше, чем p. Функциональный powermod действует поэлементный, чтобы возвратить вектор из единиц.
p = 5; a = 1:p-1; c = powermod(a,p-1,p)
c =
1 1 1 1Небольшая теорема Ферма утверждает, что, если p является простым числом и a, не является делимым p, то a (p –1) ультрасовременный p равняется 1. Наоборот, если a (p –1) ультрасовременный p равняется 1, и a не является делимым p, то p является не всегда простым числом (p может быть псевдоначалом).
Протестируйте числа от 300 к 400 для простоты чисел при помощи небольшой теоремы Ферма с основным 2.
p = 300:400; remainder = powermod(2,p-1,p); primesFermat = p(remainder == 1)
primesFermat = 307 311 313 317 331 337 341 347 349 353... 359 367 373 379 383 389 397
Найдите псевдоначала Ферма путем сравнения результатов с isprime. 341 псевдоглавный Ферма.
primeNumbers = p(isprime(p)); setdiff(primesFermat,primeNumbers)
ans = 341
a — ОсноваОснова, заданная как номер, вектор, матрица, массив, или символьное число или массив. a должно быть целое число.
b — Экспонента или степеньЭкспонента или степень, заданная как номер, вектор, матрица, массив, или символьное число или массив. b должно быть целое число.
m — МодульМодуль, заданный как номер, вектор, матрица, массив, или символьное число или массив. m должно быть неотрицательное целое число.
Для положительной экспоненты b модульное возведение в степень c задан как
c = a mod b m.
Для отрицательной экспоненты b определение может быть расширено путем нахождения модульной мультипликативной инверсии d a m по модулю, который является
c = d ‒b ультрасовременный m.
где d удовлетворяет отношению
a mod d m = 1.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.