-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.js
126 lines (105 loc) · 9.17 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import test from "ava";
import { getSum } from "./src/1.js";
test("1 - Get sum of multiples of 3 or 5 between 10", t => {
let sum = getSum(10);
t.is(sum, 23);
// 10 - 23
let sum1 = getSum(1000);
t.is(sum1, 233168);
// 1000 - 233168
});
import { getSum as getSum2 } from "./src/2.js";
test("2 - Get sum of even Fibonacci numbers between 10", t => {
let sum = getSum2(10);
t.is(sum, 10);
// 10 - 10
let sum1 = getSum2(4000000);
t.is(sum1, 4613732);
// 4000000 - 4613732
});
import { getLargestPrime } from "./src/3.js";
test("3 - Get the largest prime factors of 13195", t => {
// console.time("getLargestPrime");
let largestPrime = getLargestPrime(13195);
// console.timeEnd("getLargestPrime");
t.is(largestPrime, 29);
// 13195 - 29
let largestPrime1 = getLargestPrime(600851475143);
// console.timeEnd("getLargestPrime");
t.is(largestPrime1, 6857);
// 600851475143 - 6857
});
import { getLargestPalindromeProduct } from "./src/4.js";
test("4 - Largest palindrome product", t => {
let largestPalindromeProduct = getLargestPalindromeProduct(2);
t.is(largestPalindromeProduct, 9009);
// 2 - 9009
let largestPalindromeProduct1 = getLargestPalindromeProduct(3);
t.is(largestPalindromeProduct1, 906609);
// 3 - 906609
});
import { getSmallestMultiple } from "./src/5.js";
test("5 - Smallest multiple", t => {
let smallestMultiple = getSmallestMultiple(10);
t.is(smallestMultiple, 2520);
// 10 - 2520
let smallestMultiple1 = getSmallestMultiple(20);
t.is(smallestMultiple1, 232792560);
// 20 - 232792560
});
import { getSumSquareDifference } from "./src/6.js";
test("6 - Sum square difference", t => {
let sumSquareDifference = getSumSquareDifference(10);
t.is(sumSquareDifference, 2640);
// 10 - 2640
let sumSquareDifference1 = getSumSquareDifference(100);
t.is(sumSquareDifference1, 25164150);
// 100 - 25164150
});
import { getPrime } from "./src/7.js";
test("7 - 10001st prime", t=> {
let primeNumber = getPrime(6);
t.is(primeNumber, 13);
// 6 - 13
// console.time("Prime Number");
let primeNumber1 = getPrime(10001);
t.is(primeNumber1, 104743);
// console.timeEnd("Prime Number");
// 10001 - 104743
});
import { getLargestProduct } from "./src/8.js";
test("8 - Largest product in a series", t => {
let largestProduct = getLargestProduct(4);
t.is(largestProduct, 5832);
// 4 - 5832
let largestProduct1 = getLargestProduct(13);
t.is(largestProduct1, 23514624000);
// 13 - 23514624000
});
import { getProductOfSpecialPythagoreanTriplet } from "./src/9.js";
test("9 - Special Pythagorean triplet", t => {
let product = getProductOfSpecialPythagoreanTriplet(12);
t.is(product, 60);
// 12 - 60
let product1 = getProductOfSpecialPythagoreanTriplet(1000);
t.is(product1, 31875000);
// 1000 - 31875000
});
import { getSummationOfPrimes } from "./src/10.js";
test("10 - Summation of primes", t => {
let sum = getSummationOfPrimes(10);
t.is(sum, 17);
// 10 - 17
let sum1 = getSummationOfPrimes(2000000);
t.is(sum1, 142913828922);
// 2000000 - 142913828922
});
import { getSumOfSelfPowers } from "./src/48.js";
test("48 - Self powers", t => {
let sumOfSelfPowers = getSumOfSelfPowers(10);
t.is(sumOfSelfPowers, '10405071317');
// 10 - 10405071317
let sumOfSelfPowers1 = getSumOfSelfPowers(1000);
t.is(sumOfSelfPowers1, "1000368199144695177095375011227646795567793680622934654583760988100234910747716194381428659099527845945869942643191290894720342979906407679647259860434238468038326040809691037615370376237713648510063115732951461774246705584266865759601815843666442832284556880313114548151539190975398485496645576513465858582712336401166221956188173449531674102688908321764663020306699770408625340766091595022791379368098369306375602813856646358773751558775213460225796579846583334007349358624342339332981334571237888809283103348760261360175950815609179464026871005243652109980863552142014242903434068560936573231079342194031864413918101238151056509267393515760392842472501391594073463001521843811073767021711026307504695733467897821866906648469828346607412967395801797791683609834722432241952845352564681868240369569566192825555323558078061997527689983848863374786789331581565252059172614339424600986143259233167583371070362625554531852054166117148858229508581589614337594463277554380518380921301218836327102231407332201109740102580216469298331766920619646083790732807627360614428085171565006289728508688964226799647192582924058589530750674578385365561878559589685756225692348914746922810913915619834754117648358035814128670294158565669942087736286390942241547226015004471330630113072042704288905042142628193771918594574302202147201188486345913190833752307476966010547423928871063118783026036381319039052008252072057933666712918946233312793697094074224187872045970976444309242782187738320257490080824330074991698698239561125811127607863900355221737846690567707344074494145266662103839812840216303448476913957072355732716627098372245223046792919747259113157425824064858331415400943278213042954635053574045209984512221264241903550178416824551412548637590007779082539288247751653566899882749594405895102587985539527709493510049546445427265617478399107188238681771215904234119392247489751079085948055945098805617963722928469554263782217625160428008228845552540344494860195267115187092227766195753907211126646150140614744233974765273475619964311852858614167819668340124730487710162006793529985758820653677274379563313495454526632718723482339494825759821076401694316043456512117937935456463521463021197726694983558929132357576188594977516630734212863869456164205525536767311298137182511494649463663073759219213056823561667776093739425742883930712609962163464088038826569132032160692637206183085942987973684584276491784843115472077900401692595694119273553511025991265446039366288921743581333200083717105241171504606883543418862024047552177055263424469501298905901938158245938633694105024815166679813689156668341197713475094389904887126794468901893850475050011205225742455555625750560213230387910337983950333245020653238989115507013882956277763880795687210857196493893142656713105966275422144605988058939600603604226921401402096519294250488670297983396353279460453142375542267881989197481789780678955093763193658603690898474826976906544473978017455720367929981796023041785852626797271283465789498383642350667978127819110846700");
// 1000 - 1000368199144695177095375011227646795567793680622934654583760988100234910747716194381428659099527845945869942643191290894720342979906407679647259860434238468038326040809691037615370376237713648510063115732951461774246705584266865759601815843666442832284556880313114548151539190975398485496645576513465858582712336401166221956188173449531674102688908321764663020306699770408625340766091595022791379368098369306375602813856646358773751558775213460225796579846583334007349358624342339332981334571237888809283103348760261360175950815609179464026871005243652109980863552142014242903434068560936573231079342194031864413918101238151056509267393515760392842472501391594073463001521843811073767021711026307504695733467897821866906648469828346607412967395801797791683609834722432241952845352564681868240369569566192825555323558078061997527689983848863374786789331581565252059172614339424600986143259233167583371070362625554531852054166117148858229508581589614337594463277554380518380921301218836327102231407332201109740102580216469298331766920619646083790732807627360614428085171565006289728508688964226799647192582924058589530750674578385365561878559589685756225692348914746922810913915619834754117648358035814128670294158565669942087736286390942241547226015004471330630113072042704288905042142628193771918594574302202147201188486345913190833752307476966010547423928871063118783026036381319039052008252072057933666712918946233312793697094074224187872045970976444309242782187738320257490080824330074991698698239561125811127607863900355221737846690567707344074494145266662103839812840216303448476913957072355732716627098372245223046792919747259113157425824064858331415400943278213042954635053574045209984512221264241903550178416824551412548637590007779082539288247751653566899882749594405895102587985539527709493510049546445427265617478399107188238681771215904234119392247489751079085948055945098805617963722928469554263782217625160428008228845552540344494860195267115187092227766195753907211126646150140614744233974765273475619964311852858614167819668340124730487710162006793529985758820653677274379563313495454526632718723482339494825759821076401694316043456512117937935456463521463021197726694983558929132357576188594977516630734212863869456164205525536767311298137182511494649463663073759219213056823561667776093739425742883930712609962163464088038826569132032160692637206183085942987973684584276491784843115472077900401692595694119273553511025991265446039366288921743581333200083717105241171504606883543418862024047552177055263424469501298905901938158245938633694105024815166679813689156668341197713475094389904887126794468901893850475050011205225742455555625750560213230387910337983950333245020653238989115507013882956277763880795687210857196493893142656713105966275422144605988058939600603604226921401402096519294250488670297983396353279460453142375542267881989197481789780678955093763193658603690898474826976906544473978017455720367929981796023041785852626797271283465789498383642350667978127819110846700
});