diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f97022 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target/ \ No newline at end of file diff --git a/hs/1.hs b/hs/1.hs new file mode 100644 index 0000000..9439f2f --- /dev/null +++ b/hs/1.hs @@ -0,0 +1,2 @@ +main = do + putStrLn (show (sum [x | x <- [1..999], x `mod` 3 == 0 || x `mod` 5 == 0])) \ No newline at end of file diff --git a/hs/5.hs b/hs/5.hs new file mode 100644 index 0000000..80208e5 --- /dev/null +++ b/hs/5.hs @@ -0,0 +1,6 @@ +divisible x y = x `mod` y == 0 + +smallest x = if all (divisible x) [2..20] then x else smallest (succ x) + +main = do + print(smallest 1) \ No newline at end of file diff --git a/hs/6.hs b/hs/6.hs new file mode 100644 index 0000000..f385932 --- /dev/null +++ b/hs/6.hs @@ -0,0 +1,2 @@ +main = do + print (sum [1..100] ^ 2 - sum [x ^ 2 | x <- [1..100]]) \ No newline at end of file diff --git a/py/10.py b/py/10.py new file mode 100644 index 0000000..7d7dc36 --- /dev/null +++ b/py/10.py @@ -0,0 +1,2 @@ +import sympy +print(sum(filter(sympy.isprime,range(2000000)))) \ No newline at end of file diff --git a/py/2.py b/py/2.py new file mode 100644 index 0000000..2466dd6 --- /dev/null +++ b/py/2.py @@ -0,0 +1,9 @@ +last1 = 1 +last2 = 2 +res = 2 +while (last1 + last2 <= 4000000): + new = last1 + last2 + res += (new if new%2 == 0 else 0) + last1 = last2 + last2 = new +print(res) \ No newline at end of file diff --git a/py/3.py b/py/3.py new file mode 100644 index 0000000..8f6de04 --- /dev/null +++ b/py/3.py @@ -0,0 +1,11 @@ +from sympy.ntheory import isprime +import math + +def primefactor(x): + res = 0 + for i in range(2,math.ceil(math.sqrt(x))): + if(not isprime(i) or x%i != 0): continue + res = i + return res + +print(primefactor(600851475143)) \ No newline at end of file diff --git a/py/4.py b/py/4.py new file mode 100644 index 0000000..47c91b1 --- /dev/null +++ b/py/4.py @@ -0,0 +1,9 @@ +def palindromic(x): + return str(x) == str(x)[::-1] + +maxi = 0 +for i in range(1,999): + for j in range(1,999): + if(palindromic(i*j)): maxi = max(maxi,(i*j)) + +print(maxi) \ No newline at end of file diff --git a/py/7.py b/py/7.py new file mode 100644 index 0000000..fc4a36b --- /dev/null +++ b/py/7.py @@ -0,0 +1 @@ +## zzz \ No newline at end of file diff --git a/py/8.py b/py/8.py new file mode 100644 index 0000000..f44123c --- /dev/null +++ b/py/8.py @@ -0,0 +1,8 @@ +from functools import reduce + +val = list(map(int,list(str(7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450)))) + +res = 0 +for i in range(len(val)-13): + res = max(res,reduce(lambda a,b: a*b,val[i:i+13])) +print(res) \ No newline at end of file diff --git a/py/9.py b/py/9.py new file mode 100644 index 0000000..79be4f0 --- /dev/null +++ b/py/9.py @@ -0,0 +1,6 @@ +for a in range(1,1000): + for i in range(1,a): + b = a+i + c = 1000-(a+b) + if(a**2+b**2 == c**2): + print(a*b*c) \ No newline at end of file diff --git a/py/93.py b/py/93.py new file mode 100644 index 0000000..e69de29 diff --git a/rs/Cargo.lock b/rs/Cargo.lock new file mode 100644 index 0000000..47e2335 --- /dev/null +++ b/rs/Cargo.lock @@ -0,0 +1,89 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "matrixmultiply" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" +dependencies = [ + "autocfg", + "rawpointer", +] + +[[package]] +name = "ndarray" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "portable-atomic", + "portable-atomic-util", + "rawpointer", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "portable-atomic-util" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" +dependencies = [ + "portable-atomic", +] + +[[package]] +name = "projecteuler" +version = "0.1.0" +dependencies = [ + "ndarray", +] + +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" diff --git a/rs/Cargo.toml b/rs/Cargo.toml new file mode 100644 index 0000000..a124338 --- /dev/null +++ b/rs/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "projecteuler" +version = "0.1.0" +edition = "2024" + +[dependencies] +ndarray = "0.16.0"