refactor(euler): add checklist and more thoughts
-
This commit is contained in:
parent
e3b60cbc09
commit
1f4e8dfaf0
19 changed files with 408 additions and 38 deletions
BIN
assets/euler.png
Normal file
BIN
assets/euler.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
114
euler/readme.md
Normal file
114
euler/readme.md
Normal file
|
@ -0,0 +1,114 @@
|
|||
<div align="center">
|
||||
<img src="../assets/euler.png">
|
||||
<h1>euler</h1>
|
||||
</div>
|
||||
|
||||
> My solutions to many of Project Euler's problems.
|
||||
|
||||
The source code can be found in the [src](src) directory. My thoughts about some puzzles may also be found in the [thoughts](thoughts) directory, showing my thought process or providing some mathematical insight. As per the rules of the challenge, I may only publish the solutions to the first 100 problems here, so I will stop after that but still continue the challenge.
|
||||
|
||||
### Checklist
|
||||
|
||||
- [x] [1 - Multiples of 3 or 5](src/1%20-%20Multiples%20of%203%20or%205.ts)
|
||||
- [x] [2 - Even Fibonacci numbers](src/2%20-%20Even%20Fibonacci%20numbers.ts)
|
||||
- [x] [3 - Largest prime factor](src/3%20-%20Largest%20prime%20factor.ts)
|
||||
- [x] [4 - Largest palindrome product](src/4%20-%20Largest%20palindrome%20product.ts)
|
||||
- [x] [5 - Smallest multiple](src/5%20-%20Smallest%20multiple.ts)
|
||||
- [x] [6 - Sum square difference](src/6%20-%20Sum%20square%20difference.ts)
|
||||
- [x] [7 - 10001st prime](src/7%20-%2010001st%20prime.ts)
|
||||
- [x] [8 - Largest product in a series](src/8%20-%20Largest%20product%20in%20a%20series.ts)
|
||||
- [x] [9 - Special Pythagorean triplet](src/9%20-%20Special%20Pythagorean%20triplet.ts)
|
||||
- [Thoughts](thoughts/9%20-%20Special%20Pythagorean%20triplet.md)
|
||||
- [x] [10 - Summation of primes](src/10%20-%20Summation%20of%20primes.ts)
|
||||
- [Thoughts](thoughts/10%20-%20Summation%20of%20primes.md)
|
||||
- [x] [11 - Largest product in a grid](src/11%20-%20Largest%20product%20in%20a%20grid.ts)
|
||||
- [x] [12 - Highly divisible triangular number](src/12%20-%20Highly%20divisible%20triangular%20number.ts)
|
||||
- [x] [13 - Large sum](src/13%20-%20Large%20sum.ts)
|
||||
- [x] [14 - Longest Collatz sequence](src/14%20-%20Longest%20Collatz%20sequence.ts)
|
||||
- [x] [15 - Lattice paths](src/15%20-%20Lattice%20paths.ts)
|
||||
- [Thoughts](thoughts/15%20-%20Lattice%20paths.md)
|
||||
- [ ] 16 - Power digit sum
|
||||
- [ ] 17 - Number letter counts
|
||||
- [ ] 18 - Maximum path sum I
|
||||
- [ ] 19 - Counting Sundays
|
||||
- [ ] 20 - Factorial digit sum
|
||||
- [ ] 21 - Amicable numbers
|
||||
- [ ] 22 - Names scores
|
||||
- [ ] 23 - Non-abundant sums
|
||||
- [ ] 24 - Lexicographic permutations
|
||||
- [ ] 25 - 1000-digit Fibonacci number
|
||||
- [ ] 26 - Reciprocal cycles
|
||||
- [ ] 27 - Quadratic primes
|
||||
- [ ] 28 - Number spiral diagonals
|
||||
- [ ] 29 - Distinct powers
|
||||
- [ ] 30 - Digit fifth powers
|
||||
- [ ] 31 - Coin sums
|
||||
- [ ] 32 - Pandigital products
|
||||
- [ ] 33 - Digit cancelling fractions
|
||||
- [ ] 34 - Digit factorials
|
||||
- [ ] 35 - Circular primes
|
||||
- [ ] 36 - Double-base palindromes
|
||||
- [ ] 37 - Truncatable primes
|
||||
- [ ] 38 - Pandigital multiples
|
||||
- [ ] 39 - Integer right triangles
|
||||
- [ ] 40 - Champernowne's constant
|
||||
- [ ] 41 - Pandigital prime
|
||||
- [ ] 42 - Coded triangle numbers
|
||||
- [ ] 43 - Sub-string divisibility
|
||||
- [ ] 44 - Pentagon numbers
|
||||
- [ ] 45 - Triangular, pentagonal, and hexagonal
|
||||
- [ ] 46 - Goldbach's other conjecture
|
||||
- [ ] 47 - Distinct primes factors
|
||||
- [ ] 48 - Self powers
|
||||
- [ ] 49 - Prime permutations
|
||||
- [ ] 50 - Consecutive prime sum
|
||||
- [ ] 51 - Prime digit replacements
|
||||
- [ ] 52 - Permuted multiples
|
||||
- [ ] 53 - Combinatoric selections
|
||||
- [ ] 54 - Poker hands
|
||||
- [ ] 55 - Lychrel numbers
|
||||
- [ ] 56 - Powerful digit sum
|
||||
- [ ] 57 - Square root convergents
|
||||
- [ ] 58 - Spiral primes
|
||||
- [ ] 59 - XOR decryption
|
||||
- [ ] 60 - Prime pair sets
|
||||
- [ ] 61 - Cyclical figurate numbers
|
||||
- [ ] 62 - Cubic permutations
|
||||
- [ ] 63 - Powerful digit counts
|
||||
- [ ] 64 - Odd period square roots
|
||||
- [ ] 65 - Convergents of e
|
||||
- [ ] 66 - Diophantine equation
|
||||
- [ ] 67 - Maximum path sum II
|
||||
- [ ] 68 - Magic 5-gon ring
|
||||
- [ ] 69 - Totient maximum
|
||||
- [ ] 70 - Totient permutation
|
||||
- [ ] 71 - Ordered fractions
|
||||
- [ ] 72 - Counting fractions
|
||||
- [ ] 73 - Counting fractions in a range
|
||||
- [ ] 74 - Digit factorial chains
|
||||
- [ ] 75 - Singular integer right triangles
|
||||
- [ ] 76 - Counting summations
|
||||
- [ ] 77 - Prime summations
|
||||
- [ ] 78 - Coin partitions
|
||||
- [ ] 79 - Passcode derivation
|
||||
- [ ] 80 - Square root digital expansion
|
||||
- [ ] 81 - Path sum: two ways
|
||||
- [ ] 82 - Path sum: three ways
|
||||
- [ ] 83 - Path sum: four ways
|
||||
- [ ] 84 - Monopoly odds
|
||||
- [ ] 85 - Counting rectangles
|
||||
- [ ] 86 - Cuboid route
|
||||
- [ ] 87 - Prime power triples
|
||||
- [ ] 88 - Product-sum numbers
|
||||
- [ ] 89 - Roman numerals
|
||||
- [ ] 90 - Cube digit pairs
|
||||
- [ ] 91 - Right triangles with integer coordinates
|
||||
- [ ] 92 - Square digit chains
|
||||
- [ ] 93 - Arithmetic expressions
|
||||
- [ ] 94 - Almost equilateral triangles
|
||||
- [ ] 95 - Amicable chains
|
||||
- [ ] 96 - Su Doku
|
||||
- [ ] 97 - Large non-Mersenne prime
|
||||
- [ ] 98 - Anagramic squares
|
||||
- [ ] 99 - Largest exponential
|
||||
- [ ] 100 - Arranged probability
|
|
@ -1,38 +0,0 @@
|
|||
export {};
|
||||
|
||||
// a + b + c = 1000
|
||||
// we need a * b * c
|
||||
// pythagorean triplet: a < b < c
|
||||
// a^2 + b^2 = c^2
|
||||
|
||||
const pythagoreanTriplet = (sum: number) => {
|
||||
let a: number,
|
||||
b = 1,
|
||||
c: number;
|
||||
|
||||
for (; b < sum; b++) {
|
||||
// let x = sum
|
||||
|
||||
// c = x - (a + b)
|
||||
// a^2 + b^2 = (x - (a + b))^2
|
||||
// a^2 + b^2 = a^2 + 2ab - 2ax + b^2 - 2bx + x^2
|
||||
// 0 = 2ab - 2ax - 2bx + x^2
|
||||
|
||||
// 2bx - 2ab = x^2 - 2ax
|
||||
// (x^2 / x) - 2a = 2b - (2ab / x)
|
||||
// -2a = 2b - (2ab / x) - (x^2 / x)
|
||||
// a = - (((x * 2b) - (x * x)) / ((2 * x) - (2 * b)))
|
||||
a = -((sum * (2 * b) - sum * sum) / (2 * sum - 2 * b));
|
||||
|
||||
if (Math.floor(a) === a) {
|
||||
c = sum - a - b;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return { a, b, c };
|
||||
};
|
||||
|
||||
const triplet = pythagoreanTriplet(1000);
|
||||
console.log(triplet);
|
||||
console.log(triplet.a * triplet.b * triplet.c);
|
22
euler/src/9 - Special Pythagorean triplet.ts
Normal file
22
euler/src/9 - Special Pythagorean triplet.ts
Normal file
|
@ -0,0 +1,22 @@
|
|||
export {};
|
||||
|
||||
const pythagoreanTriplet = (sum: number) => {
|
||||
let a: number,
|
||||
b = 1,
|
||||
c: number;
|
||||
|
||||
for (; b < sum; b++) {
|
||||
a = -((sum * (2 * b) - sum * sum) / (2 * sum - 2 * b));
|
||||
|
||||
if (Math.floor(a) === a) {
|
||||
c = sum - a - b;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return { a, b, c };
|
||||
};
|
||||
|
||||
const triplet = pythagoreanTriplet(1000);
|
||||
console.log(triplet);
|
||||
console.log(triplet.a * triplet.b * triplet.c);
|
19
euler/thoughts/10 - Summation of primes.md
Normal file
19
euler/thoughts/10 - Summation of primes.md
Normal file
|
@ -0,0 +1,19 @@
|
|||
### Sieve of Eratosthenes Psuedocode
|
||||
|
||||
[Source](https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes#Pseudocode)
|
||||
|
||||
```
|
||||
algorithm Sieve of Eratosthenes is
|
||||
input: an integer n > 1.
|
||||
output: all prime numbers from 2 through n.
|
||||
|
||||
let A be an array of Boolean values, indexed by integers 2 to n,
|
||||
initially all set to true.
|
||||
|
||||
for i = 2, 3, 4, ..., not exceeding √n do
|
||||
if A[i] is true
|
||||
for j = i2, i2+i, i2+2i, i2+3i, ..., not exceeding n do
|
||||
A[j] := false
|
||||
|
||||
return all i such that A[i] is true.
|
||||
```
|
26
euler/thoughts/9 - Special Pythagorean triplet.md
Normal file
26
euler/thoughts/9 - Special Pythagorean triplet.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
a + b + c = 1000, so what is abc?
|
||||
|
||||
a pythagorean triplet must make a < b < c
|
||||
|
||||
we know that:
|
||||
|
||||
![](assets/pythagoras.svg)
|
||||
|
||||
let x be the sum
|
||||
|
||||
![](assets/9.svg)
|
||||
|
||||
### LaTeX
|
||||
|
||||
```
|
||||
c = x - (a + b) \newline
|
||||
a^2 + b^2 = (x - (a + b))^2 \newline
|
||||
a^2 + b^2 = a^2 + 2ab - 2ax + b^2 - 2bx + x^2 \newline
|
||||
2ab - 2ax - 2bx + x^2 = 0 \newline
|
||||
\newline
|
||||
2bx - 2ab = x^2 - 2ax \newline
|
||||
(\frac{x^2}{x}) - 2a = 2b - (\frac{2ab}{x}) \newline
|
||||
-2a = 2b - (\frac{2ab}{x}) - (\frac{x^2}{x}) \newline
|
||||
\newline
|
||||
a = \frac{2bx - x^2}{2x - 2b}
|
||||
```
|
42
euler/thoughts/assets/15.svg
Normal file
42
euler/thoughts/assets/15.svg
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Generated by CodeCogs with dvisvgm 2.9.1 -->
|
||||
<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='254.227159pt' height='38.890671pt' viewBox='-.239051 -.22797 254.227159 38.890671'>
|
||||
<defs>
|
||||
<path id='g4-33' d='M3.587442-10.390719H2.029549L2.229645-2.85852H3.415931L3.587442-10.390719ZM3.530272 0V-1.472138H2.101012V0H3.530272Z'/>
|
||||
<path id='g4-40' d='M5.459773 2.872812V2.801349C3.601735 1.129115 2.486912-1.386382 2.486912-3.987635C2.486912-6.574595 3.601735-9.104385 5.459773-10.790912V-10.862375H3.873294C2.215353-8.975752 1.257749-6.788984 1.257749-3.987635S2.215353 .986189 3.873294 2.872812H5.459773Z'/>
|
||||
<path id='g4-41' d='M5.231091-3.987635C5.231091-6.788984 4.273487-8.975752 2.629838-10.862375H1.029067V-10.790912C2.901397-9.104385 4.001928-6.574595 4.001928-3.987635C4.001928-1.386382 2.901397 1.129115 1.029067 2.801349V2.872812H2.629838C4.273487 .986189 5.231091-1.186286 5.231091-3.987635Z'/>
|
||||
<path id='g4-43' d='M10.2335-3.987635V-5.102458H6.431669V-8.918581H5.273969V-5.102458H1.472138V-3.987635H5.273969V-.185804H6.431669V-3.987635H10.2335Z'/>
|
||||
<path id='g4-61' d='M9.990526-5.459773V-6.574595H1.715112V-5.459773H9.990526ZM9.990526-2.52979V-3.644613H1.715112V-2.52979H9.990526Z'/>
|
||||
<path id='g1-109' d='M13.063435-6.074354C13.063435-7.303518 12.37739-8.018148 11.005301-8.018148C10.061989-8.018148 9.13297-7.64654 7.903807-6.746106C7.689418-7.546492 7.031958-8.018148 5.974306-8.018148C5.05958-8.018148 4.273487-7.603662 3.30159-6.93191L3.501687-7.789466H2.186768L.3859 0H1.700819L3.044323-5.817088C4.187731-6.574595 4.802313-6.817569 5.359724-6.817569C6.145817-6.817569 6.646058-6.560303 6.646058-5.702747C6.588888-5.131043 6.588888-5.11675 6.445962-4.444998L5.416895 0H6.731814L7.889514-4.988117C7.946685-5.216798 7.989563-5.559821 8.003855-5.788502C8.818533-6.331621 9.661797-6.817569 10.390719-6.817569C11.391201-6.817569 11.66276-6.417377 11.66276-5.702747C11.66276-5.345432 11.591297-4.930946 11.476957-4.444998L10.447889 0H11.762808L12.934802-5.05958C13.020557-5.416895 13.063435-5.759917 13.063435-6.074354Z'/>
|
||||
<path id='g1-110' d='M8.203951-6.017184C8.203951-7.303518 7.403566-8.018148 6.045769-8.018148C5.11675-8.018148 4.302072-7.632248 3.30159-6.93191L3.501687-7.789466H2.186768L.3859 0H1.700819L3.044323-5.817088C3.859002-6.360206 4.759435-6.817569 5.459773-6.817569C6.474547-6.817569 6.803277-6.417377 6.803277-5.631284C6.803277-5.273969 6.731814-4.930946 6.617473-4.444998L5.602699 0H6.903325L8.075318-5.05958C8.161074-5.345432 8.203951-5.788502 8.203951-6.017184Z'/>
|
||||
<path id='g2-18' d='M10.042337 33.699214C10.042337 33.641829 10.013645 33.613136 9.984952 33.570098C9.454143 33.039289 8.492948 32.078094 7.531753 30.528704C5.222015 26.827386 4.174743 22.164872 4.174743 16.641587C4.174743 12.78246 4.691206 7.80433 7.058328 3.529164C8.191678 1.492004 9.368066 .315616 9.999298-.315616C10.042337-.358655 10.042337-.387347 10.042337-.430386C10.042337-.573848 9.941914-.573848 9.741067-.573848S9.511528-.573848 9.296335-.358655C4.490359 4.016935 2.984009 10.587492 2.984009 16.627241C2.984009 22.265296 4.275166 27.946389 7.9191 32.235902C8.206024 32.565864 8.751179 33.154058 9.339373 33.670521C9.511528 33.842676 9.54022 33.842676 9.741067 33.842676S10.042337 33.842676 10.042337 33.699214Z'/>
|
||||
<path id='g2-19' d='M7.560445 16.641587C7.560445 11.003532 6.269288 5.322439 2.625354 1.032926C2.33843 .702964 1.793274 .11477 1.20508-.401693C1.032926-.573848 1.004234-.573848 .803387-.573848C.631233-.573848 .502117-.573848 .502117-.430386C.502117-.373001 .559502-.315616 .588194-.286924C1.090311 .229539 2.051506 1.190734 3.012701 2.740123C5.322439 6.441442 6.369711 11.103955 6.369711 16.627241C6.369711 20.486367 5.853248 25.464497 3.486126 29.739664C2.352776 31.776823 1.162042 32.967558 .559502 33.570098C.530809 33.613136 .502117 33.656175 .502117 33.699214C.502117 33.842676 .631233 33.842676 .803387 33.842676C1.004234 33.842676 1.032926 33.842676 1.248119 33.627483C6.054095 29.251893 7.560445 22.681335 7.560445 16.641587Z'/>
|
||||
</defs>
|
||||
<g id='page1' transform='matrix(1.13 0 0 1.13 -63.986043 -61.01997)'>
|
||||
<use x='56.413267' y='54.372078' xlink:href='#g2-18'/>
|
||||
<use x='66.973702' y='64.895086' xlink:href='#g1-109'/>
|
||||
<use x='84.120541' y='64.895086' xlink:href='#g4-43'/>
|
||||
<use x='99.043723' y='64.895086' xlink:href='#g1-110'/>
|
||||
<use x='80.569857' y='84.441173' xlink:href='#g1-109'/>
|
||||
<use x='108.124851' y='54.372078' xlink:href='#g2-19'/>
|
||||
<use x='122.670281' y='74.600391' xlink:href='#g4-61'/>
|
||||
<use x='138.390462' y='54.372078' xlink:href='#g2-18'/>
|
||||
<use x='148.950897' y='64.895086' xlink:href='#g1-109'/>
|
||||
<use x='166.097736' y='64.895086' xlink:href='#g4-43'/>
|
||||
<use x='181.020918' y='64.895086' xlink:href='#g1-110'/>
|
||||
<use x='164.985904' y='84.441173' xlink:href='#g1-110'/>
|
||||
<use x='190.102046' y='54.372078' xlink:href='#g2-19'/>
|
||||
<use x='204.647476' y='74.600391' xlink:href='#g4-61'/>
|
||||
<use x='221.563171' y='64.895086' xlink:href='#g4-40'/>
|
||||
<use x='228.076351' y='64.895086' xlink:href='#g1-109'/>
|
||||
<use x='245.223189' y='64.895086' xlink:href='#g4-43'/>
|
||||
<use x='260.146371' y='64.895086' xlink:href='#g1-110'/>
|
||||
<use x='269.227518' y='64.895086' xlink:href='#g4-41'/>
|
||||
<use x='275.740698' y='64.895086' xlink:href='#g4-33'/>
|
||||
<rect x='221.563171' y='70.726931' height='.573822' width='59.829883'/>
|
||||
<use x='234.305746' y='84.441158' xlink:href='#g1-109'/>
|
||||
<use x='248.264588' y='84.441158' xlink:href='#g4-33'/>
|
||||
<use x='253.91699' y='84.441158' xlink:href='#g1-110'/>
|
||||
<use x='262.998137' y='84.441158' xlink:href='#g4-33'/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.4 KiB |
161
euler/thoughts/assets/9.svg
Normal file
161
euler/thoughts/assets/9.svg
Normal file
|
@ -0,0 +1,161 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Generated by CodeCogs with dvisvgm 2.9.1 -->
|
||||
<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='321.79771pt' height='236.678678pt' viewBox='-.164645 -.232601 321.79771 236.678678'>
|
||||
<defs>
|
||||
<path id='g4-40' d='M3.79151 1.995009V1.945382C2.501206 .784108 1.727023-.962766 1.727023-2.769192C1.727023-4.565693 2.501206-6.322492 3.79151-7.493692V-7.543319H2.689789C1.53844-6.233164 .873437-4.714574 .873437-2.769192S1.53844 .684854 2.689789 1.995009H3.79151Z'/>
|
||||
<path id='g4-41' d='M3.632704-2.769192C3.632704-4.714574 2.967701-6.233164 1.826277-7.543319H.71463V-7.493692C2.01486-6.322492 2.779118-4.565693 2.779118-2.769192C2.779118-.962766 2.01486 .784108 .71463 1.945382V1.995009H1.826277C2.967701 .684854 3.632704-.82381 3.632704-2.769192Z'/>
|
||||
<path id='g4-43' d='M7.106601-2.769192V-3.543375H4.466439V-6.193462H3.66248V-3.543375H1.022318V-2.769192H3.66248V-.12903H4.466439V-2.769192H7.106601Z'/>
|
||||
<path id='g4-48' d='M5.657489-3.612853C5.657489-6.123984 4.893232-7.364661 3.156283-7.364661C1.449111-7.364661 .665003-6.163686 .665003-3.602927C.665003-1.052094 1.42926 .148881 3.156283 .148881C4.863456 .148881 5.657489-1.022318 5.657489-3.612853ZM4.674873-3.612853C4.674873-1.419335 4.277856-.645152 3.156283-.645152C2.024786-.645152 1.64762-1.40941 1.64762-3.602927S2.034711-6.560702 3.156283-6.560702S4.674873-5.78652 4.674873-3.612853Z'/>
|
||||
<path id='g4-50' d='M5.667415 0V-.82381H1.786576C4.575619-3.195985 5.359727-3.999944 5.359727-5.379578C5.359727-6.600404 4.466439-7.364661 2.987551-7.364661C2.272921-7.364661 1.419335-7.146302 .962766-6.918018V-5.895699H1.012393C1.657545-6.322492 2.382101-6.530926 2.967701-6.530926C3.851063-6.530926 4.367185-6.084282 4.367185-5.32995C4.367185-4.24808 3.731958-3.543375 .784108-1.012393V0H5.667415Z'/>
|
||||
<path id='g4-61' d='M6.937868-3.79151V-4.565693H1.19105V-3.79151H6.937868ZM6.937868-1.756799V-2.530982H1.19105V-1.756799H6.937868Z'/>
|
||||
<path id='g2-0' d='M9.454143-3.299625C9.698028-3.299625 9.95626-3.299625 9.95626-3.586549S9.698028-3.873473 9.454143-3.873473H1.692851C1.448966-3.873473 1.190734-3.873473 1.190734-3.586549S1.448966-3.299625 1.692851-3.299625H9.454143Z'/>
|
||||
<use id='g6-40' xlink:href='#g4-40' transform='scale(1.439999)'/>
|
||||
<use id='g6-41' xlink:href='#g4-41' transform='scale(1.439999)'/>
|
||||
<use id='g6-43' xlink:href='#g4-43' transform='scale(1.439999)'/>
|
||||
<use id='g6-48' xlink:href='#g4-48' transform='scale(1.439999)'/>
|
||||
<use id='g6-50' xlink:href='#g4-50' transform='scale(1.439999)'/>
|
||||
<use id='g6-61' xlink:href='#g4-61' transform='scale(1.439999)'/>
|
||||
<path id='g1-97' d='M6.10294-4.116268L5.588406-1.915208C4.830898-1.386382 3.916172-.957604 3.058616-.957604C2.101012-.957604 1.657941-1.314919 1.657941-1.986671C1.657941-3.401638 2.872812-3.987635 6.10294-4.116268ZM5.345432-.828971L5.145335 0H6.445962L7.675125-5.288261C7.732296-5.545528 7.775174-5.845673 7.775174-6.088647C7.775174-7.403566 6.803277-7.989563 4.873776-7.989563C3.930465-7.989563 2.758471-7.746588 2.229645-7.617955L1.972379-6.303036H2.043842C2.672716-6.54601 3.844709-6.87474 4.630802-6.87474C5.888551-6.87474 6.431669-6.54601 6.431669-5.77421C6.403084-5.488358 6.403084-5.459773 6.331621-5.145335C2.043842-5.016702 .271559-4.01622 .271559-1.743697C.271559-.571704 1.114823 .214389 2.358279 .214389C3.57315 .214389 3.95905-.014293 5.345432-.828971Z'/>
|
||||
<path id='g1-98' d='M8.318292-5.331139C8.318292-7.031958 7.489322-8.018148 5.960014-8.018148C4.959532-8.018148 4.173439-7.58937 3.315883-6.974788L4.202024-10.862375H2.901397L.3859 0H1.615064L1.786575-.3859C2.358279-.014293 3.087201 .214389 3.916172 .214389C6.345914 .214389 8.318292-2.272523 8.318292-5.331139ZM6.93191-5.073872C6.93191-2.658423 5.674162-.914726 3.901879-.914726C3.130079-.914726 2.629838-1.10053 2.029549-1.414967L3.058616-5.874258C3.773246-6.360206 4.645094-6.817569 5.416895-6.817569C6.474547-6.817569 6.93191-6.188695 6.93191-5.073872Z'/>
|
||||
<path id='g1-99' d='M3.773246 .171511C4.702265 .171511 5.616991-.128633 6.431669-.500241L6.703229-1.929501H6.631766C5.631284-1.243456 4.759435-.914726 3.944757-.914726C2.701301-.914726 2.000964-1.643649 2.000964-2.958568C2.000964-5.145335 3.258712-6.889032 5.05958-6.889032C5.902843-6.889032 6.588888-6.60318 7.332103-5.931428H7.417859L7.703711-7.346396C7.089129-7.689418 6.260158-7.97527 5.345432-7.97527C2.601253-7.97527 .600289-5.77421 .600289-2.744179C.600289-.871849 1.729404 .171511 3.773246 .171511Z'/>
|
||||
<path id='g1-120' d='M3.530272-3.944757L-.485948 0H1.129115L4.059098-2.987153L5.659869 0H7.146299L4.959532-3.873294L8.947167-7.789466H7.332103L4.430706-4.816606L2.815642-7.789466H1.343504L3.530272-3.944757Z'/>
|
||||
</defs>
|
||||
<g id='page1' transform='matrix(1.13 0 0 1.13 -44.07 -62.259487)'>
|
||||
<use x='56.413267' y='65.753425' xlink:href='#g1-99'/>
|
||||
<use x='68.130846' y='65.753425' xlink:href='#g6-61'/>
|
||||
<use x='83.851027' y='65.753425' xlink:href='#g1-120'/>
|
||||
<use x='96.019736' y='65.753425' xlink:href='#g2-0'/>
|
||||
<use x='110.365924' y='65.753425' xlink:href='#g6-40'/>
|
||||
<use x='116.879103' y='65.753425' xlink:href='#g1-97'/>
|
||||
<use x='128.689161' y='65.753425' xlink:href='#g6-43'/>
|
||||
<use x='143.612343' y='65.753425' xlink:href='#g1-98'/>
|
||||
<use x='152.550025' y='65.753425' xlink:href='#g6-41'/>
|
||||
<use x='38.854296' y='83.686177' xlink:href='#g1-97'/>
|
||||
<use x='47.476358' y='77.762757' xlink:href='#g4-50'/>
|
||||
<use x='57.49871' y='83.686177' xlink:href='#g6-43'/>
|
||||
<use x='72.421892' y='83.686177' xlink:href='#g1-98'/>
|
||||
<use x='81.359574' y='77.762757' xlink:href='#g4-50'/>
|
||||
<use x='92.178926' y='83.686177' xlink:href='#g6-61'/>
|
||||
<use x='107.899107' y='83.686177' xlink:href='#g6-40'/>
|
||||
<use x='114.412287' y='83.686177' xlink:href='#g1-120'/>
|
||||
<use x='126.580995' y='83.686177' xlink:href='#g2-0'/>
|
||||
<use x='140.927183' y='83.686177' xlink:href='#g6-40'/>
|
||||
<use x='147.440363' y='83.686177' xlink:href='#g1-97'/>
|
||||
<use x='159.25042' y='83.686177' xlink:href='#g6-43'/>
|
||||
<use x='174.173602' y='83.686177' xlink:href='#g1-98'/>
|
||||
<use x='183.111284' y='83.686177' xlink:href='#g6-41'/>
|
||||
<use x='189.624463' y='83.686177' xlink:href='#g6-41'/>
|
||||
<use x='196.137643' y='77.762757' xlink:href='#g4-50'/>
|
||||
<use x='38.854296' y='101.618929' xlink:href='#g1-97'/>
|
||||
<use x='47.476358' y='95.695509' xlink:href='#g4-50'/>
|
||||
<use x='57.49871' y='101.618929' xlink:href='#g6-43'/>
|
||||
<use x='72.421892' y='101.618929' xlink:href='#g1-98'/>
|
||||
<use x='81.359574' y='95.695509' xlink:href='#g4-50'/>
|
||||
<use x='92.178926' y='101.618929' xlink:href='#g6-61'/>
|
||||
<use x='107.899107' y='101.618929' xlink:href='#g1-97'/>
|
||||
<use x='116.521168' y='95.695509' xlink:href='#g4-50'/>
|
||||
<use x='126.543521' y='101.618929' xlink:href='#g6-43'/>
|
||||
<use x='141.466703' y='101.618929' xlink:href='#g6-50'/>
|
||||
<use x='150.590879' y='101.618929' xlink:href='#g1-97'/>
|
||||
<use x='159.21294' y='101.618929' xlink:href='#g1-98'/>
|
||||
<use x='171.338618' y='101.618929' xlink:href='#g2-0'/>
|
||||
<use x='185.684806' y='101.618929' xlink:href='#g6-50'/>
|
||||
<use x='194.808982' y='101.618929' xlink:href='#g1-97'/>
|
||||
<use x='203.431043' y='101.618929' xlink:href='#g1-120'/>
|
||||
<use x='215.599751' y='101.618929' xlink:href='#g6-43'/>
|
||||
<use x='230.522933' y='101.618929' xlink:href='#g1-98'/>
|
||||
<use x='239.460615' y='95.695509' xlink:href='#g4-50'/>
|
||||
<use x='249.482968' y='101.618929' xlink:href='#g2-0'/>
|
||||
<use x='263.829156' y='101.618929' xlink:href='#g6-50'/>
|
||||
<use x='272.953332' y='101.618929' xlink:href='#g1-98'/>
|
||||
<use x='281.891014' y='101.618929' xlink:href='#g1-120'/>
|
||||
<use x='294.059722' y='101.618929' xlink:href='#g6-43'/>
|
||||
<use x='308.982904' y='101.618929' xlink:href='#g1-120'/>
|
||||
<use x='317.963617' y='95.695509' xlink:href='#g4-50'/>
|
||||
<use x='38.854296' y='119.551681' xlink:href='#g6-50'/>
|
||||
<use x='47.978472' y='119.551681' xlink:href='#g1-97'/>
|
||||
<use x='56.600533' y='119.551681' xlink:href='#g1-98'/>
|
||||
<use x='68.726212' y='119.551681' xlink:href='#g2-0'/>
|
||||
<use x='83.072399' y='119.551681' xlink:href='#g6-50'/>
|
||||
<use x='92.196575' y='119.551681' xlink:href='#g1-97'/>
|
||||
<use x='100.818637' y='119.551681' xlink:href='#g1-120'/>
|
||||
<use x='112.987345' y='119.551681' xlink:href='#g2-0'/>
|
||||
<use x='127.333533' y='119.551681' xlink:href='#g6-50'/>
|
||||
<use x='136.457709' y='119.551681' xlink:href='#g1-98'/>
|
||||
<use x='145.395391' y='119.551681' xlink:href='#g1-120'/>
|
||||
<use x='157.564099' y='119.551681' xlink:href='#g6-43'/>
|
||||
<use x='172.487281' y='119.551681' xlink:href='#g1-120'/>
|
||||
<use x='181.467994' y='113.628261' xlink:href='#g4-50'/>
|
||||
<use x='192.287345' y='119.551681' xlink:href='#g6-61'/>
|
||||
<use x='208.007526' y='119.551681' xlink:href='#g6-48'/>
|
||||
<use x='38.854296' y='155.417186' xlink:href='#g6-50'/>
|
||||
<use x='47.978472' y='155.417186' xlink:href='#g1-98'/>
|
||||
<use x='56.916154' y='155.417186' xlink:href='#g1-120'/>
|
||||
<use x='69.084863' y='155.417186' xlink:href='#g2-0'/>
|
||||
<use x='83.431051' y='155.417186' xlink:href='#g6-50'/>
|
||||
<use x='92.555226' y='155.417186' xlink:href='#g1-97'/>
|
||||
<use x='101.177288' y='155.417186' xlink:href='#g1-98'/>
|
||||
<use x='114.099965' y='155.417186' xlink:href='#g6-61'/>
|
||||
<use x='129.820146' y='155.417186' xlink:href='#g1-120'/>
|
||||
<use x='138.800858' y='149.493765' xlink:href='#g4-50'/>
|
||||
<use x='148.823211' y='155.417186' xlink:href='#g2-0'/>
|
||||
<use x='163.169399' y='155.417186' xlink:href='#g6-50'/>
|
||||
<use x='172.293575' y='155.417186' xlink:href='#g1-97'/>
|
||||
<use x='180.915636' y='155.417186' xlink:href='#g1-120'/>
|
||||
<use x='38.854296' y='179.912638' xlink:href='#g6-40'/>
|
||||
<use x='46.56299' y='170.207334' xlink:href='#g1-120'/>
|
||||
<use x='55.543702' y='165.001225' xlink:href='#g4-50'/>
|
||||
<rect x='46.56299' y='176.039179' height='.573822' width='15.815068'/>
|
||||
<use x='49.980168' y='189.753406' xlink:href='#g1-120'/>
|
||||
<use x='63.573571' y='179.912638' xlink:href='#g6-41'/>
|
||||
<use x='73.274747' y='179.912638' xlink:href='#g2-0'/>
|
||||
<use x='87.620935' y='179.912638' xlink:href='#g6-50'/>
|
||||
<use x='96.745111' y='179.912638' xlink:href='#g1-97'/>
|
||||
<use x='109.352167' y='179.912638' xlink:href='#g6-61'/>
|
||||
<use x='125.072348' y='179.912638' xlink:href='#g6-50'/>
|
||||
<use x='134.196524' y='179.912638' xlink:href='#g1-98'/>
|
||||
<use x='146.322202' y='179.912638' xlink:href='#g2-0'/>
|
||||
<use x='160.66839' y='179.912638' xlink:href='#g6-40'/>
|
||||
<use x='168.377084' y='170.207334' xlink:href='#g6-50'/>
|
||||
<use x='177.50126' y='170.207334' xlink:href='#g1-97'/>
|
||||
<use x='186.123321' y='170.207334' xlink:href='#g1-98'/>
|
||||
<rect x='168.377084' y='176.039179' height='.573822' width='26.683901'/>
|
||||
<use x='177.228686' y='189.753406' xlink:href='#g1-120'/>
|
||||
<use x='196.256499' y='179.912638' xlink:href='#g6-41'/>
|
||||
<use x='38.854296' y='213.05336' xlink:href='#g2-0'/>
|
||||
<use x='53.200484' y='213.05336' xlink:href='#g6-50'/>
|
||||
<use x='62.32466' y='213.05336' xlink:href='#g1-97'/>
|
||||
<use x='74.931717' y='213.05336' xlink:href='#g6-61'/>
|
||||
<use x='90.651898' y='213.05336' xlink:href='#g6-50'/>
|
||||
<use x='99.776073' y='213.05336' xlink:href='#g1-98'/>
|
||||
<use x='111.901752' y='213.05336' xlink:href='#g2-0'/>
|
||||
<use x='126.247939' y='213.05336' xlink:href='#g6-40'/>
|
||||
<use x='133.956633' y='203.348056' xlink:href='#g6-50'/>
|
||||
<use x='143.080809' y='203.348056' xlink:href='#g1-97'/>
|
||||
<use x='151.70287' y='203.348056' xlink:href='#g1-98'/>
|
||||
<rect x='133.956633' y='209.1799' height='.573822' width='26.683901'/>
|
||||
<use x='142.808235' y='222.894127' xlink:href='#g1-120'/>
|
||||
<use x='161.836048' y='213.05336' xlink:href='#g6-41'/>
|
||||
<use x='171.537224' y='213.05336' xlink:href='#g2-0'/>
|
||||
<use x='185.883412' y='213.05336' xlink:href='#g6-40'/>
|
||||
<use x='193.592105' y='203.348056' xlink:href='#g1-120'/>
|
||||
<use x='202.572817' y='198.141947' xlink:href='#g4-50'/>
|
||||
<rect x='193.592105' y='209.1799' height='.573822' width='15.815068'/>
|
||||
<use x='197.009283' y='222.894127' xlink:href='#g1-120'/>
|
||||
<use x='210.602687' y='213.05336' xlink:href='#g6-41'/>
|
||||
<use x='38.854296' y='254.286051' xlink:href='#g1-97'/>
|
||||
<use x='51.461353' y='254.286051' xlink:href='#g6-61'/>
|
||||
<use x='68.377048' y='244.580747' xlink:href='#g6-50'/>
|
||||
<use x='77.501223' y='244.580747' xlink:href='#g1-98'/>
|
||||
<use x='86.438905' y='244.580747' xlink:href='#g1-120'/>
|
||||
<use x='98.607614' y='244.580747' xlink:href='#g2-0'/>
|
||||
<use x='112.953802' y='244.580747' xlink:href='#g1-120'/>
|
||||
<use x='121.934514' y='239.374638' xlink:href='#g4-50'/>
|
||||
<rect x='68.377048' y='250.412592' height='.573822' width='60.391802'/>
|
||||
<use x='71.722504' y='264.126819' xlink:href='#g6-50'/>
|
||||
<use x='80.84668' y='264.126819' xlink:href='#g1-120'/>
|
||||
<use x='93.015388' y='264.126819' xlink:href='#g2-0'/>
|
||||
<use x='107.361576' y='264.126819' xlink:href='#g6-50'/>
|
||||
<use x='116.485752' y='264.126819' xlink:href='#g1-98'/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
24
euler/thoughts/assets/pythagoras.svg
Normal file
24
euler/thoughts/assets/pythagoras.svg
Normal file
|
@ -0,0 +1,24 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Generated by CodeCogs with dvisvgm 2.9.1 -->
|
||||
<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='93.162635pt' height='15.257792pt' viewBox='-.239051 -.228087 93.162635 15.257792'>
|
||||
<defs>
|
||||
<use id='g5-43' xlink:href='#g3-43' transform='scale(1.439999)'/>
|
||||
<use id='g5-61' xlink:href='#g3-61' transform='scale(1.439999)'/>
|
||||
<path id='g3-43' d='M7.106601-2.769192V-3.543375H4.466439V-6.193462H3.66248V-3.543375H1.022318V-2.769192H3.66248V-.12903H4.466439V-2.769192H7.106601Z'/>
|
||||
<path id='g3-50' d='M5.667415 0V-.82381H1.786576C4.575619-3.195985 5.359727-3.999944 5.359727-5.379578C5.359727-6.600404 4.466439-7.364661 2.987551-7.364661C2.272921-7.364661 1.419335-7.146302 .962766-6.918018V-5.895699H1.012393C1.657545-6.322492 2.382101-6.530926 2.967701-6.530926C3.851063-6.530926 4.367185-6.084282 4.367185-5.32995C4.367185-4.24808 3.731958-3.543375 .784108-1.012393V0H5.667415Z'/>
|
||||
<path id='g3-61' d='M6.937868-3.79151V-4.565693H1.19105V-3.79151H6.937868ZM6.937868-1.756799V-2.530982H1.19105V-1.756799H6.937868Z'/>
|
||||
<path id='g1-97' d='M6.10294-4.116268L5.588406-1.915208C4.830898-1.386382 3.916172-.957604 3.058616-.957604C2.101012-.957604 1.657941-1.314919 1.657941-1.986671C1.657941-3.401638 2.872812-3.987635 6.10294-4.116268ZM5.345432-.828971L5.145335 0H6.445962L7.675125-5.288261C7.732296-5.545528 7.775174-5.845673 7.775174-6.088647C7.775174-7.403566 6.803277-7.989563 4.873776-7.989563C3.930465-7.989563 2.758471-7.746588 2.229645-7.617955L1.972379-6.303036H2.043842C2.672716-6.54601 3.844709-6.87474 4.630802-6.87474C5.888551-6.87474 6.431669-6.54601 6.431669-5.77421C6.403084-5.488358 6.403084-5.459773 6.331621-5.145335C2.043842-5.016702 .271559-4.01622 .271559-1.743697C.271559-.571704 1.114823 .214389 2.358279 .214389C3.57315 .214389 3.95905-.014293 5.345432-.828971Z'/>
|
||||
<path id='g1-98' d='M8.318292-5.331139C8.318292-7.031958 7.489322-8.018148 5.960014-8.018148C4.959532-8.018148 4.173439-7.58937 3.315883-6.974788L4.202024-10.862375H2.901397L.3859 0H1.615064L1.786575-.3859C2.358279-.014293 3.087201 .214389 3.916172 .214389C6.345914 .214389 8.318292-2.272523 8.318292-5.331139ZM6.93191-5.073872C6.93191-2.658423 5.674162-.914726 3.901879-.914726C3.130079-.914726 2.629838-1.10053 2.029549-1.414967L3.058616-5.874258C3.773246-6.360206 4.645094-6.817569 5.416895-6.817569C6.474547-6.817569 6.93191-6.188695 6.93191-5.073872Z'/>
|
||||
<path id='g1-99' d='M3.773246 .171511C4.702265 .171511 5.616991-.128633 6.431669-.500241L6.703229-1.929501H6.631766C5.631284-1.243456 4.759435-.914726 3.944757-.914726C2.701301-.914726 2.000964-1.643649 2.000964-2.958568C2.000964-5.145335 3.258712-6.889032 5.05958-6.889032C5.902843-6.889032 6.588888-6.60318 7.332103-5.931428H7.417859L7.703711-7.346396C7.089129-7.689418 6.260158-7.97527 5.345432-7.97527C2.601253-7.97527 .600289-5.77421 .600289-2.744179C.600289-.871849 1.729404 .171511 3.773246 .171511Z'/>
|
||||
</defs>
|
||||
<g id='page1' transform='matrix(1.13 0 0 1.13 -63.986043 -61.051305)'>
|
||||
<use x='56.413267' y='67.113939' xlink:href='#g1-97'/>
|
||||
<use x='65.035328' y='61.190518' xlink:href='#g3-50'/>
|
||||
<use x='75.057681' y='67.113939' xlink:href='#g5-43'/>
|
||||
<use x='89.980863' y='67.113939' xlink:href='#g1-98'/>
|
||||
<use x='98.918545' y='61.190518' xlink:href='#g3-50'/>
|
||||
<use x='109.737897' y='67.113939' xlink:href='#g5-61'/>
|
||||
<use x='125.458078' y='67.113939' xlink:href='#g1-99'/>
|
||||
<use x='133.190662' y='61.190518' xlink:href='#g3-50'/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.4 KiB |
Loading…
Reference in a new issue