Add Fermat Primality Test

This commit is contained in:
arthurvergacas
2021-10-14 15:15:49 -03:00
parent 5f601fac8d
commit 3c2fdf7582
2 changed files with 109 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
import { modularExponentiation, fermatPrimeCheck } from '../FermatPrimalityTest'
describe('modularExponentiation', () => {
it('should give the correct output for all exponentiations', () => {
expect(modularExponentiation(38, 220, 221)).toBe(1)
expect(modularExponentiation(24, 220, 221)).toBe(81)
})
})
describe('fermatPrimeCheck', () => {
it('should give the correct output for prime and composite numbers', () => {
expect(fermatPrimeCheck(2, 50)).toBe(true)
expect(fermatPrimeCheck(10, 50)).toBe(false)
expect(fermatPrimeCheck(94286167, 50)).toBe(true)
expect(fermatPrimeCheck(83165867, 50)).toBe(true)
expect(fermatPrimeCheck(13268774, 50)).toBe(false)
expect(fermatPrimeCheck(13233852, 50)).toBe(false)
})
})