4 Commits

Author SHA1 Message Date
e915d72b0d LICENSE: init 2025-03-17 19:26:15 +01:00
674702bac4 Fix formatting 2020-06-27 18:32:50 +02:00
424a335253 Move solutions to specified branches 2020-06-22 11:32:10 +02:00
b9646efea6 Add Readme 2020-06-22 11:31:01 +02:00
60 changed files with 26 additions and 1432 deletions

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 h7x4 <h7x4@nani.wtf>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

5
README.md Normal file
View File

@@ -0,0 +1,5 @@
# Project Euler
This is a private repository for solutions to the [Project Euler](https://projecteuler.net/) excersizes.
Switch branch to find solutions written in different languages.

View File

@@ -1,20 +0,0 @@
08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65
52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91
22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80
24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50
32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21
24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72
21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95
78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92
16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57
86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58
19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40
04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66
88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69
04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36
20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16
20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54
01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48

View File

@@ -1,15 +0,0 @@
75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
36,22,80,0,0,4,23,25,19,17,88,4,4,19,21,11,88,22,23,23,29,69,12,24,0,88,25,11,12,2,10,28,5,6,12,25,10,22,80,10,30,80,10,22,21,69,23,22,69,61,5,9,29,2,66,11,80,8,23,3,17,88,19,0,20,21,7,10,17,17,29,20,69,8,17,21,29,2,22,84,80,71,60,21,69,11,5,8,21,25,22,88,3,0,10,25,0,10,5,8,88,2,0,27,25,21,10,31,6,25,2,16,21,82,69,35,63,11,88,4,13,29,80,22,13,29,22,88,31,3,88,3,0,10,25,0,11,80,10,30,80,23,29,19,12,8,2,10,27,17,9,11,45,95,88,57,69,16,17,19,29,80,23,29,19,0,22,4,9,1,80,3,23,5,11,28,92,69,9,5,12,12,21,69,13,30,0,0,0,0,27,4,0,28,28,28,84,80,4,22,80,0,20,21,2,25,30,17,88,21,29,8,2,0,11,3,12,23,30,69,30,31,23,88,4,13,29,80,0,22,4,12,10,21,69,11,5,8,88,31,3,88,4,13,17,3,69,11,21,23,17,21,22,88,65,69,83,80,84,87,68,69,83,80,84,87,73,69,83,80,84,87,65,83,88,91,69,29,4,6,86,92,69,15,24,12,27,24,69,28,21,21,29,30,1,11,80,10,22,80,17,16,21,69,9,5,4,28,2,4,12,5,23,29,80,10,30,80,17,16,21,69,27,25,23,27,28,0,84,80,22,23,80,17,16,17,17,88,25,3,88,4,13,29,80,17,10,5,0,88,3,16,21,80,10,30,80,17,16,25,22,88,3,0,10,25,0,11,80,12,11,80,10,26,4,4,17,30,0,28,92,69,30,2,10,21,80,12,12,80,4,12,80,10,22,19,0,88,4,13,29,80,20,13,17,1,10,17,17,13,2,0,88,31,3,88,4,13,29,80,6,17,2,6,20,21,69,30,31,9,20,31,18,11,94,69,54,17,8,29,28,28,84,80,44,88,24,4,14,21,69,30,31,16,22,20,69,12,24,4,12,80,17,16,21,69,11,5,8,88,31,3,88,4,13,17,3,69,11,21,23,17,21,22,88,25,22,88,17,69,11,25,29,12,24,69,8,17,23,12,80,10,30,80,17,16,21,69,11,1,16,25,2,0,88,31,3,88,4,13,29,80,21,29,2,12,21,21,17,29,2,69,23,22,69,12,24,0,88,19,12,10,19,9,29,80,18,16,31,22,29,80,1,17,17,8,29,4,0,10,80,12,11,80,84,67,80,10,10,80,7,1,80,21,13,4,17,17,30,2,88,4,13,29,80,22,13,29,69,23,22,69,12,24,12,11,80,22,29,2,12,29,3,69,29,1,16,25,28,69,12,31,69,11,92,69,17,4,69,16,17,22,88,4,13,29,80,23,25,4,12,23,80,22,9,2,17,80,70,76,88,29,16,20,4,12,8,28,12,29,20,69,26,9,69,11,80,17,23,80,84,88,31,3,88,4,13,29,80,21,29,2,12,21,21,17,29,2,69,12,31,69,12,24,0,88,20,12,25,29,0,12,21,23,86,80,44,88,7,12,20,28,69,11,31,10,22,80,22,16,31,18,88,4,13,25,4,69,12,24,0,88,3,16,21,80,10,30,80,17,16,25,22,88,3,0,10,25,0,11,80,17,23,80,7,29,80,4,8,0,23,23,8,12,21,17,17,29,28,28,88,65,75,78,68,81,65,67,81,72,70,83,64,68,87,74,70,81,75,70,81,67,80,4,22,20,69,30,2,10,21,80,8,13,28,17,17,0,9,1,25,11,31,80,17,16,25,22,88,30,16,21,18,0,10,80,7,1,80,22,17,8,73,88,17,11,28,80,17,16,21,11,88,4,4,19,25,11,31,80,17,16,21,69,11,1,16,25,2,0,88,2,10,23,4,73,88,4,13,29,80,11,13,29,7,29,2,69,75,94,84,76,65,80,65,66,83,77,67,80,64,73,82,65,67,87,75,72,69,17,3,69,17,30,1,29,21,1,88,0,23,23,20,16,27,21,1,84,80,18,16,25,6,16,80,0,0,0,23,29,3,22,29,3,69,12,24,0,88,0,0,10,25,8,29,4,0,10,80,10,30,80,4,88,19,12,10,19,9,29,80,18,16,31,22,29,80,1,17,17,8,29,4,0,10,80,12,11,80,84,86,80,35,23,28,9,23,7,12,22,23,69,25,23,4,17,30,69,12,24,0,88,3,4,21,21,69,11,4,0,8,3,69,26,9,69,15,24,12,27,24,69,49,80,13,25,20,69,25,2,23,17,6,0,28,80,4,12,80,17,16,25,22,88,3,16,21,92,69,49,80,13,25,6,0,88,20,12,11,19,10,14,21,23,29,20,69,12,24,4,12,80,17,16,21,69,11,5,8,88,31,3,88,4,13,29,80,22,29,2,12,29,3,69,73,80,78,88,65,74,73,70,69,83,80,84,87,72,84,88,91,69,73,95,87,77,70,69,83,80,84,87,70,87,77,80,78,88,21,17,27,94,69,25,28,22,23,80,1,29,0,0,22,20,22,88,31,11,88,4,13,29,80,20,13,17,1,10,17,17,13,2,0,88,31,3,88,4,13,29,80,6,17,2,6,20,21,75,88,62,4,21,21,9,1,92,69,12,24,0,88,3,16,21,80,10,30,80,17,16,25,22,88,29,16,20,4,12,8,28,12,29,20,69,26,9,69,65,64,69,31,25,19,29,3,69,12,24,0,88,18,12,9,5,4,28,2,4,12,21,69,80,22,10,13,2,17,16,80,21,23,7,0,10,89,69,23,22,69,12,24,0,88,19,12,10,19,16,21,22,0,10,21,11,27,21,69,23,22,69,12,24,0,88,0,0,10,25,8,29,4,0,10,80,10,30,80,4,88,19,12,10,19,9,29,80,18,16,31,22,29,80,1,17,17,8,29,4,0,10,80,12,11,80,84,86,80,36,22,20,69,26,9,69,11,25,8,17,28,4,10,80,23,29,17,22,23,30,12,22,23,69,49,80,13,25,6,0,88,28,12,19,21,18,17,3,0,88,18,0,29,30,69,25,18,9,29,80,17,23,80,1,29,4,0,10,29,12,22,21,69,12,24,0,88,3,16,21,3,69,23,22,69,12,24,0,88,3,16,26,3,0,9,5,0,22,4,69,11,21,23,17,21,22,88,25,11,88,7,13,17,19,13,88,4,13,29,80,0,0,0,10,22,21,11,12,3,69,25,2,0,88,21,19,29,30,69,22,5,8,26,21,23,11,94

View File

@@ -1,100 +0,0 @@
59
73 41
52 40 09
26 53 06 34
10 51 87 86 81
61 95 66 57 25 68
90 81 80 38 92 67 73
30 28 51 76 81 18 75 44
84 14 95 87 62 81 17 78 58
21 46 71 58 02 79 62 39 31 09
56 34 35 53 78 31 81 18 90 93 15
78 53 04 21 84 93 32 13 97 11 37 51
45 03 81 79 05 18 78 86 13 30 63 99 95
39 87 96 28 03 38 42 17 82 87 58 07 22 57
06 17 51 17 07 93 09 07 75 97 95 78 87 08 53
67 66 59 60 88 99 94 65 55 77 55 34 27 53 78 28
76 40 41 04 87 16 09 42 75 69 23 97 30 60 10 79 87
12 10 44 26 21 36 32 84 98 60 13 12 36 16 63 31 91 35
70 39 06 05 55 27 38 48 28 22 34 35 62 62 15 14 94 89 86
66 56 68 84 96 21 34 34 34 81 62 40 65 54 62 05 98 03 02 60
38 89 46 37 99 54 34 53 36 14 70 26 02 90 45 13 31 61 83 73 47
36 10 63 96 60 49 41 05 37 42 14 58 84 93 96 17 09 43 05 43 06 59
66 57 87 57 61 28 37 51 84 73 79 15 39 95 88 87 43 39 11 86 77 74 18
54 42 05 79 30 49 99 73 46 37 50 02 45 09 54 52 27 95 27 65 19 45 26 45
71 39 17 78 76 29 52 90 18 99 78 19 35 62 71 19 23 65 93 85 49 33 75 09 02
33 24 47 61 60 55 32 88 57 55 91 54 46 57 07 77 98 52 80 99 24 25 46 78 79 05
92 09 13 55 10 67 26 78 76 82 63 49 51 31 24 68 05 57 07 54 69 21 67 43 17 63 12
24 59 06 08 98 74 66 26 61 60 13 03 09 09 24 30 71 08 88 70 72 70 29 90 11 82 41 34
66 82 67 04 36 60 92 77 91 85 62 49 59 61 30 90 29 94 26 41 89 04 53 22 83 41 09 74 90
48 28 26 37 28 52 77 26 51 32 18 98 79 36 62 13 17 08 19 54 89 29 73 68 42 14 08 16 70 37
37 60 69 70 72 71 09 59 13 60 38 13 57 36 09 30 43 89 30 39 15 02 44 73 05 73 26 63 56 86 12
55 55 85 50 62 99 84 77 28 85 03 21 27 22 19 26 82 69 54 04 13 07 85 14 01 15 70 59 89 95 10 19
04 09 31 92 91 38 92 86 98 75 21 05 64 42 62 84 36 20 73 42 21 23 22 51 51 79 25 45 85 53 03 43 22
75 63 02 49 14 12 89 14 60 78 92 16 44 82 38 30 72 11 46 52 90 27 08 65 78 03 85 41 57 79 39 52 33 48
78 27 56 56 39 13 19 43 86 72 58 95 39 07 04 34 21 98 39 15 39 84 89 69 84 46 37 57 59 35 59 50 26 15 93
42 89 36 27 78 91 24 11 17 41 05 94 07 69 51 96 03 96 47 90 90 45 91 20 50 56 10 32 36 49 04 53 85 92 25 65
52 09 61 30 61 97 66 21 96 92 98 90 06 34 96 60 32 69 68 33 75 84 18 31 71 50 84 63 03 03 19 11 28 42 75 45 45
61 31 61 68 96 34 49 39 05 71 76 59 62 67 06 47 96 99 34 21 32 47 52 07 71 60 42 72 94 56 82 83 84 40 94 87 82 46
01 20 60 14 17 38 26 78 66 81 45 95 18 51 98 81 48 16 53 88 37 52 69 95 72 93 22 34 98 20 54 27 73 61 56 63 60 34 63
93 42 94 83 47 61 27 51 79 79 45 01 44 73 31 70 83 42 88 25 53 51 30 15 65 94 80 44 61 84 12 77 02 62 02 65 94 42 14 94
32 73 09 67 68 29 74 98 10 19 85 48 38 31 85 67 53 93 93 77 47 67 39 72 94 53 18 43 77 40 78 32 29 59 24 06 02 83 50 60 66
32 01 44 30 16 51 15 81 98 15 10 62 86 79 50 62 45 60 70 38 31 85 65 61 64 06 69 84 14 22 56 43 09 48 66 69 83 91 60 40 36 61
92 48 22 99 15 95 64 43 01 16 94 02 99 19 17 69 11 58 97 56 89 31 77 45 67 96 12 73 08 20 36 47 81 44 50 64 68 85 40 81 85 52 09
91 35 92 45 32 84 62 15 19 64 21 66 06 01 52 80 62 59 12 25 88 28 91 50 40 16 22 99 92 79 87 51 21 77 74 77 07 42 38 42 74 83 02 05
46 19 77 66 24 18 05 32 02 84 31 99 92 58 96 72 91 36 62 99 55 29 53 42 12 37 26 58 89 50 66 19 82 75 12 48 24 87 91 85 02 07 03 76 86
99 98 84 93 07 17 33 61 92 20 66 60 24 66 40 30 67 05 37 29 24 96 03 27 70 62 13 04 45 47 59 88 43 20 66 15 46 92 30 04 71 66 78 70 53 99
67 60 38 06 88 04 17 72 10 99 71 07 42 25 54 05 26 64 91 50 45 71 06 30 67 48 69 82 08 56 80 67 18 46 66 63 01 20 08 80 47 07 91 16 03 79 87
18 54 78 49 80 48 77 40 68 23 60 88 58 80 33 57 11 69 55 53 64 02 94 49 60 92 16 35 81 21 82 96 25 24 96 18 02 05 49 03 50 77 06 32 84 27 18 38
68 01 50 04 03 21 42 94 53 24 89 05 92 26 52 36 68 11 85 01 04 42 02 45 15 06 50 04 53 73 25 74 81 88 98 21 67 84 79 97 99 20 95 04 40 46 02 58 87
94 10 02 78 88 52 21 03 88 60 06 53 49 71 20 91 12 65 07 49 21 22 11 41 58 99 36 16 09 48 17 24 52 36 23 15 72 16 84 56 02 99 43 76 81 71 29 39 49 17
64 39 59 84 86 16 17 66 03 09 43 06 64 18 63 29 68 06 23 07 87 14 26 35 17 12 98 41 53 64 78 18 98 27 28 84 80 67 75 62 10 11 76 90 54 10 05 54 41 39 66
43 83 18 37 32 31 52 29 95 47 08 76 35 11 04 53 35 43 34 10 52 57 12 36 20 39 40 55 78 44 07 31 38 26 08 15 56 88 86 01 52 62 10 24 32 05 60 65 53 28 57 99
03 50 03 52 07 73 49 92 66 80 01 46 08 67 25 36 73 93 07 42 25 53 13 96 76 83 87 90 54 89 78 22 78 91 73 51 69 09 79 94 83 53 09 40 69 62 10 79 49 47 03 81 30
71 54 73 33 51 76 59 54 79 37 56 45 84 17 62 21 98 69 41 95 65 24 39 37 62 03 24 48 54 64 46 82 71 78 33 67 09 16 96 68 52 74 79 68 32 21 13 78 96 60 09 69 20 36
73 26 21 44 46 38 17 83 65 98 07 23 52 46 61 97 33 13 60 31 70 15 36 77 31 58 56 93 75 68 21 36 69 53 90 75 25 82 39 50 65 94 29 30 11 33 11 13 96 02 56 47 07 49 02
76 46 73 30 10 20 60 70 14 56 34 26 37 39 48 24 55 76 84 91 39 86 95 61 50 14 53 93 64 67 37 31 10 84 42 70 48 20 10 72 60 61 84 79 69 65 99 73 89 25 85 48 92 56 97 16
03 14 80 27 22 30 44 27 67 75 79 32 51 54 81 29 65 14 19 04 13 82 04 91 43 40 12 52 29 99 07 76 60 25 01 07 61 71 37 92 40 47 99 66 57 01 43 44 22 40 53 53 09 69 26 81 07
49 80 56 90 93 87 47 13 75 28 87 23 72 79 32 18 27 20 28 10 37 59 21 18 70 04 79 96 03 31 45 71 81 06 14 18 17 05 31 50 92 79 23 47 09 39 47 91 43 54 69 47 42 95 62 46 32 85
37 18 62 85 87 28 64 05 77 51 47 26 30 65 05 70 65 75 59 80 42 52 25 20 44 10 92 17 71 95 52 14 77 13 24 55 11 65 26 91 01 30 63 15 49 48 41 17 67 47 03 68 20 90 98 32 04 40 68
90 51 58 60 06 55 23 68 05 19 76 94 82 36 96 43 38 90 87 28 33 83 05 17 70 83 96 93 06 04 78 47 80 06 23 84 75 23 87 72 99 14 50 98 92 38 90 64 61 58 76 94 36 66 87 80 51 35 61 38
57 95 64 06 53 36 82 51 40 33 47 14 07 98 78 65 39 58 53 06 50 53 04 69 40 68 36 69 75 78 75 60 03 32 39 24 74 47 26 90 13 40 44 71 90 76 51 24 36 50 25 45 70 80 61 80 61 43 90 64 11
18 29 86 56 68 42 79 10 42 44 30 12 96 18 23 18 52 59 02 99 67 46 60 86 43 38 55 17 44 93 42 21 55 14 47 34 55 16 49 24 23 29 96 51 55 10 46 53 27 92 27 46 63 57 30 65 43 27 21 20 24 83
81 72 93 19 69 52 48 01 13 83 92 69 20 48 69 59 20 62 05 42 28 89 90 99 32 72 84 17 08 87 36 03 60 31 36 36 81 26 97 36 48 54 56 56 27 16 91 08 23 11 87 99 33 47 02 14 44 73 70 99 43 35 33
90 56 61 86 56 12 70 59 63 32 01 15 81 47 71 76 95 32 65 80 54 70 34 51 40 45 33 04 64 55 78 68 88 47 31 47 68 87 03 84 23 44 89 72 35 08 31 76 63 26 90 85 96 67 65 91 19 14 17 86 04 71 32 95
37 13 04 22 64 37 37 28 56 62 86 33 07 37 10 44 52 82 52 06 19 52 57 75 90 26 91 24 06 21 14 67 76 30 46 14 35 89 89 41 03 64 56 97 87 63 22 34 03 79 17 45 11 53 25 56 96 61 23 18 63 31 37 37 47
77 23 26 70 72 76 77 04 28 64 71 69 14 85 96 54 95 48 06 62 99 83 86 77 97 75 71 66 30 19 57 90 33 01 60 61 14 12 90 99 32 77 56 41 18 14 87 49 10 14 90 64 18 50 21 74 14 16 88 05 45 73 82 47 74 44
22 97 41 13 34 31 54 61 56 94 03 24 59 27 98 77 04 09 37 40 12 26 87 09 71 70 07 18 64 57 80 21 12 71 83 94 60 39 73 79 73 19 97 32 64 29 41 07 48 84 85 67 12 74 95 20 24 52 41 67 56 61 29 93 35 72 69
72 23 63 66 01 11 07 30 52 56 95 16 65 26 83 90 50 74 60 18 16 48 43 77 37 11 99 98 30 94 91 26 62 73 45 12 87 73 47 27 01 88 66 99 21 41 95 80 02 53 23 32 61 48 32 43 43 83 14 66 95 91 19 81 80 67 25 88
08 62 32 18 92 14 83 71 37 96 11 83 39 99 05 16 23 27 10 67 02 25 44 11 55 31 46 64 41 56 44 74 26 81 51 31 45 85 87 09 81 95 22 28 76 69 46 48 64 87 67 76 27 89 31 11 74 16 62 03 60 94 42 47 09 34 94 93 72
56 18 90 18 42 17 42 32 14 86 06 53 33 95 99 35 29 15 44 20 49 59 25 54 34 59 84 21 23 54 35 90 78 16 93 13 37 88 54 19 86 67 68 55 66 84 65 42 98 37 87 56 33 28 58 38 28 38 66 27 52 21 81 15 08 22 97 32 85 27
91 53 40 28 13 34 91 25 01 63 50 37 22 49 71 58 32 28 30 18 68 94 23 83 63 62 94 76 80 41 90 22 82 52 29 12 18 56 10 08 35 14 37 57 23 65 67 40 72 39 93 39 70 89 40 34 07 46 94 22 20 05 53 64 56 30 05 56 61 88 27
23 95 11 12 37 69 68 24 66 10 87 70 43 50 75 07 62 41 83 58 95 93 89 79 45 39 02 22 05 22 95 43 62 11 68 29 17 40 26 44 25 71 87 16 70 85 19 25 59 94 90 41 41 80 61 70 55 60 84 33 95 76 42 63 15 09 03 40 38 12 03 32
09 84 56 80 61 55 85 97 16 94 82 94 98 57 84 30 84 48 93 90 71 05 95 90 73 17 30 98 40 64 65 89 07 79 09 19 56 36 42 30 23 69 73 72 07 05 27 61 24 31 43 48 71 84 21 28 26 65 65 59 65 74 77 20 10 81 61 84 95 08 52 23 70
47 81 28 09 98 51 67 64 35 51 59 36 92 82 77 65 80 24 72 53 22 07 27 10 21 28 30 22 48 82 80 48 56 20 14 43 18 25 50 95 90 31 77 08 09 48 44 80 90 22 93 45 82 17 13 96 25 26 08 73 34 99 06 49 24 06 83 51 40 14 15 10 25 01
54 25 10 81 30 64 24 74 75 80 36 75 82 60 22 69 72 91 45 67 03 62 79 54 89 74 44 83 64 96 66 73 44 30 74 50 37 05 09 97 70 01 60 46 37 91 39 75 75 18 58 52 72 78 51 81 86 52 08 97 01 46 43 66 98 62 81 18 70 93 73 08 32 46 34
96 80 82 07 59 71 92 53 19 20 88 66 03 26 26 10 24 27 50 82 94 73 63 08 51 33 22 45 19 13 58 33 90 15 22 50 36 13 55 06 35 47 82 52 33 61 36 27 28 46 98 14 73 20 73 32 16 26 80 53 47 66 76 38 94 45 02 01 22 52 47 96 64 58 52 39
88 46 23 39 74 63 81 64 20 90 33 33 76 55 58 26 10 46 42 26 74 74 12 83 32 43 09 02 73 55 86 54 85 34 28 23 29 79 91 62 47 41 82 87 99 22 48 90 20 05 96 75 95 04 43 28 81 39 81 01 28 42 78 25 39 77 90 57 58 98 17 36 73 22 63 74 51
29 39 74 94 95 78 64 24 38 86 63 87 93 06 70 92 22 16 80 64 29 52 20 27 23 50 14 13 87 15 72 96 81 22 08 49 72 30 70 24 79 31 16 64 59 21 89 34 96 91 48 76 43 53 88 01 57 80 23 81 90 79 58 01 80 87 17 99 86 90 72 63 32 69 14 28 88 69
37 17 71 95 56 93 71 35 43 45 04 98 92 94 84 96 11 30 31 27 31 60 92 03 48 05 98 91 86 94 35 90 90 08 48 19 33 28 68 37 59 26 65 96 50 68 22 07 09 49 34 31 77 49 43 06 75 17 81 87 61 79 52 26 27 72 29 50 07 98 86 01 17 10 46 64 24 18 56
51 30 25 94 88 85 79 91 40 33 63 84 49 67 98 92 15 26 75 19 82 05 18 78 65 93 61 48 91 43 59 41 70 51 22 15 92 81 67 91 46 98 11 11 65 31 66 10 98 65 83 21 05 56 05 98 73 67 46 74 69 34 08 30 05 52 07 98 32 95 30 94 65 50 24 63 28 81 99 57
19 23 61 36 09 89 71 98 65 17 30 29 89 26 79 74 94 11 44 48 97 54 81 55 39 66 69 45 28 47 13 86 15 76 74 70 84 32 36 33 79 20 78 14 41 47 89 28 81 05 99 66 81 86 38 26 06 25 13 60 54 55 23 53 27 05 89 25 23 11 13 54 59 54 56 34 16 24 53 44 06
13 40 57 72 21 15 60 08 04 19 11 98 34 45 09 97 86 71 03 15 56 19 15 44 97 31 90 04 87 87 76 08 12 30 24 62 84 28 12 85 82 53 99 52 13 94 06 65 97 86 09 50 94 68 69 74 30 67 87 94 63 07 78 27 80 36 69 41 06 92 32 78 37 82 30 05 18 87 99 72 19 99
44 20 55 77 69 91 27 31 28 81 80 27 02 07 97 23 95 98 12 25 75 29 47 71 07 47 78 39 41 59 27 76 13 15 66 61 68 35 69 86 16 53 67 63 99 85 41 56 08 28 33 40 94 76 90 85 31 70 24 65 84 65 99 82 19 25 54 37 21 46 33 02 52 99 51 33 26 04 87 02 08 18 96
54 42 61 45 91 06 64 79 80 82 32 16 83 63 42 49 19 78 65 97 40 42 14 61 49 34 04 18 25 98 59 30 82 72 26 88 54 36 21 75 03 88 99 53 46 51 55 78 22 94 34 40 68 87 84 25 30 76 25 08 92 84 42 61 40 38 09 99 40 23 29 39 46 55 10 90 35 84 56 70 63 23 91 39
52 92 03 71 89 07 09 37 68 66 58 20 44 92 51 56 13 71 79 99 26 37 02 06 16 67 36 52 58 16 79 73 56 60 59 27 44 77 94 82 20 50 98 33 09 87 94 37 40 83 64 83 58 85 17 76 53 02 83 52 22 27 39 20 48 92 45 21 09 42 24 23 12 37 52 28 50 78 79 20 86 62 73 20 59
54 96 80 15 91 90 99 70 10 09 58 90 93 50 81 99 54 38 36 10 30 11 35 84 16 45 82 18 11 97 36 43 96 79 97 65 40 48 23 19 17 31 64 52 65 65 37 32 65 76 99 79 34 65 79 27 55 33 03 01 33 27 61 28 66 08 04 70 49 46 48 83 01 45 19 96 13 81 14 21 31 79 93 85 50 05
92 92 48 84 59 98 31 53 23 27 15 22 79 95 24 76 05 79 16 93 97 89 38 89 42 83 02 88 94 95 82 21 01 97 48 39 31 78 09 65 50 56 97 61 01 07 65 27 21 23 14 15 80 97 44 78 49 35 33 45 81 74 34 05 31 57 09 38 94 07 69 54 69 32 65 68 46 68 78 90 24 28 49 51 45 86 35
41 63 89 76 87 31 86 09 46 14 87 82 22 29 47 16 13 10 70 72 82 95 48 64 58 43 13 75 42 69 21 12 67 13 64 85 58 23 98 09 37 76 05 22 31 12 66 50 29 99 86 72 45 25 10 28 19 06 90 43 29 31 67 79 46 25 74 14 97 35 76 37 65 46 23 82 06 22 30 76 93 66 94 17 96 13 20 72
63 40 78 08 52 09 90 41 70 28 36 14 46 44 85 96 24 52 58 15 87 37 05 98 99 39 13 61 76 38 44 99 83 74 90 22 53 80 56 98 30 51 63 39 44 30 91 91 04 22 27 73 17 35 53 18 35 45 54 56 27 78 48 13 69 36 44 38 71 25 30 56 15 22 73 43 32 69 59 25 93 83 45 11 34 94 44 39 92
12 36 56 88 13 96 16 12 55 54 11 47 19 78 17 17 68 81 77 51 42 55 99 85 66 27 81 79 93 42 65 61 69 74 14 01 18 56 12 01 58 37 91 22 42 66 83 25 19 04 96 41 25 45 18 69 96 88 36 93 10 12 98 32 44 83 83 04 72 91 04 27 73 07 34 37 71 60 59 31 01 54 54 44 96 93 83 36 04 45
30 18 22 20 42 96 65 79 17 41 55 69 94 81 29 80 91 31 85 25 47 26 43 49 02 99 34 67 99 76 16 14 15 93 08 32 99 44 61 77 67 50 43 55 87 55 53 72 17 46 62 25 50 99 73 05 93 48 17 31 70 80 59 09 44 59 45 13 74 66 58 94 87 73 16 14 85 38 74 99 64 23 79 28 71 42 20 37 82 31 23
51 96 39 65 46 71 56 13 29 68 53 86 45 33 51 49 12 91 21 21 76 85 02 17 98 15 46 12 60 21 88 30 92 83 44 59 42 50 27 88 46 86 94 73 45 54 23 24 14 10 94 21 20 34 23 51 04 83 99 75 90 63 60 16 22 33 83 70 11 32 10 50 29 30 83 46 11 05 31 17 86 42 49 01 44 63 28 60 07 78 95 40
44 61 89 59 04 49 51 27 69 71 46 76 44 04 09 34 56 39 15 06 94 91 75 90 65 27 56 23 74 06 23 33 36 69 14 39 05 34 35 57 33 22 76 46 56 10 61 65 98 09 16 69 04 62 65 18 99 76 49 18 72 66 73 83 82 40 76 31 89 91 27 88 17 35 41 35 32 51 32 67 52 68 74 85 80 57 07 11 62 66 47 22 67
65 37 19 97 26 17 16 24 24 17 50 37 64 82 24 36 32 11 68 34 69 31 32 89 79 93 96 68 49 90 14 23 04 04 67 99 81 74 70 74 36 96 68 09 64 39 88 35 54 89 96 58 66 27 88 97 32 14 06 35 78 20 71 06 85 66 57 02 58 91 72 05 29 56 73 48 86 52 09 93 22 57 79 42 12 01 31 68 17 59 63 76 07 77
73 81 14 13 17 20 11 09 01 83 08 85 91 70 84 63 62 77 37 07 47 01 59 95 39 69 39 21 99 09 87 02 97 16 92 36 74 71 90 66 33 73 73 75 52 91 11 12 26 53 05 26 26 48 61 50 90 65 01 87 42 47 74 35 22 73 24 26 56 70 52 05 48 41 31 18 83 27 21 39 80 85 26 08 44 02 71 07 63 22 05 52 19 08 20
17 25 21 11 72 93 33 49 64 23 53 82 03 13 91 65 85 02 40 05 42 31 77 42 05 36 06 54 04 58 07 76 87 83 25 57 66 12 74 33 85 37 74 32 20 69 03 97 91 68 82 44 19 14 89 28 85 85 80 53 34 87 58 98 88 78 48 65 98 40 11 57 10 67 70 81 60 79 74 72 97 59 79 47 30 20 54 80 89 91 14 05 33 36 79 39
60 85 59 39 60 07 57 76 77 92 06 35 15 72 23 41 45 52 95 18 64 79 86 53 56 31 69 11 91 31 84 50 44 82 22 81 41 40 30 42 30 91 48 94 74 76 64 58 74 25 96 57 14 19 03 99 28 83 15 75 99 01 89 85 79 50 03 95 32 67 44 08 07 41 62 64 29 20 14 76 26 55 48 71 69 66 19 72 44 25 14 01 48 74 12 98 07
64 66 84 24 18 16 27 48 20 14 47 69 30 86 48 40 23 16 61 21 51 50 26 47 35 33 91 28 78 64 43 68 04 79 51 08 19 60 52 95 06 68 46 86 35 97 27 58 04 65 30 58 99 12 12 75 91 39 50 31 42 64 70 04 46 07 98 73 98 93 37 89 77 91 64 71 64 65 66 21 78 62 81 74 42 20 83 70 73 95 78 45 92 27 34 53 71 15
30 11 85 31 34 71 13 48 05 14 44 03 19 67 23 73 19 57 06 90 94 72 57 69 81 62 59 68 88 57 55 69 49 13 07 87 97 80 89 05 71 05 05 26 38 40 16 62 45 99 18 38 98 24 21 26 62 74 69 04 85 57 77 35 58 67 91 79 79 57 86 28 66 34 72 51 76 78 36 95 63 90 08 78 47 63 45 31 22 70 52 48 79 94 15 77 61 67 68
23 33 44 81 80 92 93 75 94 88 23 61 39 76 22 03 28 94 32 06 49 65 41 34 18 23 08 47 62 60 03 63 33 13 80 52 31 54 73 43 70 26 16 69 57 87 83 31 03 93 70 81 47 95 77 44 29 68 39 51 56 59 63 07 25 70 07 77 43 53 64 03 94 42 95 39 18 01 66 21 16 97 20 50 90 16 70 10 95 69 29 06 25 61 41 26 15 59 63 35

View File

@@ -1,11 +0,0 @@
#Same as task 18
with open('./../67.txt') as fp:
data = [list(map(int, line.strip().split(' '))) for line in fp]
data.reverse()
for i in range(len(data)):
for j in range(len(data[i])-1):
data[i+1][j]+= (data[i][j] if data[i][j]>data[i][j+1] else data[i][j+1])
print(data[len(data)-1][0])

View File

@@ -1 +0,0 @@
print(sum([i for i in range(1, 1000) if i%3==0 or i%5==0]))

View File

@@ -1,14 +0,0 @@
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
print(sum([i for i in range(1,2000001) if is_prime(i)]))

View File

@@ -1,32 +0,0 @@
def fib(n):
if( n == 0):
return 0
else:
x = 0
y = 1
for i in range(1,n):
z = (x + y)
x = y
y = z
return y
digits=list(range(0,10))
def containsPandigits(n):
first = [int(str(n)[i]) for i in range(0,10)]
last = [int(str(n)[len(str(n))-i-1]) for i in range(0,10)]
if set(digits).issubset(first) and set(digits).issubset(last):
return True
return False
# for i in range(0,10):
# if (not i in first) or (not i in last):
# return False
# return True
i=2
while True:
if (len(str(fib(i))) >= 18) and (containsPandigits(fib(i))):
print(fib(i))
break
i+=1

View File

@@ -1,62 +0,0 @@
with open('./../11.txt') as fp:
data = [list(map(int, line.strip().split(' '))) for line in fp]
#I is y axis, J is x axis
def scanHorizontal():
#Horizontal, offset i, offset j, number
max = ["Horizontal", 0, 0, 0]
for i in range(0, len(data[0])):
for j in range(0, len(data)-3):
x= data[i][j]*data[i][j+1]*data[i][j+2]*data[i][j+3]
if x > max[3]:
max[1] = i
max[2] = j
max[3] = x
return max
def scanVertical():
#Vertical, offset i, offset j, number
max = ["Vertical", 0, 0, 0]
for i in range(0, len(data[0])-3):
for j in range(0, len(data)):
x = data[i][j]*data[i+1][j]*data[i+2][j]*data[i+3][j]
if x > max[3]:
max[1] = i
max[2] = j
max[3] = x
return max
def scanDiagonal():
#Diagonal, offset i, offset j, number
max = ["Diagonal", 0, 0, 0]
for i in range(0, len(data[0])-3):
for j in range(0, len(data)-3):
x = data[i][j]*data[i+1][j+1]*data[i+2][j+2]*data[i+3][j+3]
if x > max[3]:
max[1] = i
max[2] = j
max[3] = x
return max
def scanInvertDiagonal():
#IDiagonal, offset i, offset j, number
max = ["IDiagonal", 0, 0, 0]
for i in range(0, len(data[0])-3):
for j in range(3, len(data)):
x = data[i][j]*data[i+1][j-1]*data[i+2][j-2]*data[i+3][j-3]
if x > max[3]:
max[1] = i
max[2] = j
max[3] = x
return max
x=scanHorizontal()
if scanVertical()[3] > x[3]:
x = scanVertical()
if scanDiagonal()[3] > x[3]:
x = scanDiagonal()
if scanInvertDiagonal()[3] > x[3]:
x = scanInvertDiagonal()
print(x)

View File

@@ -1,69 +0,0 @@
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
def factorize(n):
factors = []
if is_prime(n):
factors.append(n)
else:
while not is_prime(n):
for i in range(2,int(n)):
if n%i==0:
factors.append(i)
n=n/i
break
factors.append(n)
return factors
n=3
addNum=3
while True:
x=-1
counter = []
pointer = 0
#Make an array Counter[] that contains the amount of each prime factor in the number
for i in factorize(n):
if i==pointer:
counter[x]+=1
else:
x+=1
pointer=i
counter.append(1)
factors = 1
for i in counter:
factors = factors * (i+1)
if factors > 500:
print(n)
break
n+=addNum
addNum+=1
# x=3
# y=3
# max = 0
# while factorCount(x)!=501:
# x+=y
# y+=1
# if factorCount(x)>max:
# max = factorCount(x)
# print str(x) + " -> " + str(max)
# print x

View File

@@ -1,102 +0,0 @@
number = 37107287533902102798797998220837590246510135740250 + \
46376937677490009712648124896970078050417018260538 + \
74324986199524741059474233309513058123726617309629 + \
91942213363574161572522430563301811072406154908250 + \
23067588207539346171171980310421047513778063246676 + \
89261670696623633820136378418383684178734361726757 + \
28112879812849979408065481931592621691275889832738 + \
44274228917432520321923589422876796487670272189318 + \
47451445736001306439091167216856844588711603153276 + \
70386486105843025439939619828917593665686757934951 + \
62176457141856560629502157223196586755079324193331 + \
64906352462741904929101432445813822663347944758178 + \
92575867718337217661963751590579239728245598838407 + \
58203565325359399008402633568948830189458628227828 + \
80181199384826282014278194139940567587151170094390 + \
35398664372827112653829987240784473053190104293586 + \
86515506006295864861532075273371959191420517255829 + \
71693888707715466499115593487603532921714970056938 + \
54370070576826684624621495650076471787294438377604 + \
53282654108756828443191190634694037855217779295145 + \
36123272525000296071075082563815656710885258350721 + \
45876576172410976447339110607218265236877223636045 + \
17423706905851860660448207621209813287860733969412 + \
81142660418086830619328460811191061556940512689692 + \
51934325451728388641918047049293215058642563049483 + \
62467221648435076201727918039944693004732956340691 + \
15732444386908125794514089057706229429197107928209 + \
55037687525678773091862540744969844508330393682126 + \
18336384825330154686196124348767681297534375946515 + \
80386287592878490201521685554828717201219257766954 + \
78182833757993103614740356856449095527097864797581 + \
16726320100436897842553539920931837441497806860984 + \
48403098129077791799088218795327364475675590848030 + \
87086987551392711854517078544161852424320693150332 + \
59959406895756536782107074926966537676326235447210 + \
69793950679652694742597709739166693763042633987085 + \
41052684708299085211399427365734116182760315001271 + \
65378607361501080857009149939512557028198746004375 + \
35829035317434717326932123578154982629742552737307 + \
94953759765105305946966067683156574377167401875275 + \
88902802571733229619176668713819931811048770190271 + \
25267680276078003013678680992525463401061632866526 + \
36270218540497705585629946580636237993140746255962 + \
24074486908231174977792365466257246923322810917141 + \
91430288197103288597806669760892938638285025333403 + \
34413065578016127815921815005561868836468420090470 + \
23053081172816430487623791969842487255036638784583 + \
11487696932154902810424020138335124462181441773470 + \
63783299490636259666498587618221225225512486764533 + \
67720186971698544312419572409913959008952310058822 + \
95548255300263520781532296796249481641953868218774 + \
76085327132285723110424803456124867697064507995236 + \
37774242535411291684276865538926205024910326572967 + \
23701913275725675285653248258265463092207058596522 + \
29798860272258331913126375147341994889534765745501 + \
18495701454879288984856827726077713721403798879715 + \
38298203783031473527721580348144513491373226651381 + \
34829543829199918180278916522431027392251122869539 + \
40957953066405232632538044100059654939159879593635 + \
29746152185502371307642255121183693803580388584903 + \
41698116222072977186158236678424689157993532961922 + \
62467957194401269043877107275048102390895523597457 + \
23189706772547915061505504953922979530901129967519 + \
86188088225875314529584099251203829009407770775672 + \
11306739708304724483816533873502340845647058077308 + \
82959174767140363198008187129011875491310547126581 + \
97623331044818386269515456334926366572897563400500 + \
42846280183517070527831839425882145521227251250327 + \
55121603546981200581762165212827652751691296897789 + \
32238195734329339946437501907836945765883352399886 + \
75506164965184775180738168837861091527357929701337 + \
62177842752192623401942399639168044983993173312731 + \
32924185707147349566916674687634660915035914677504 + \
99518671430235219628894890102423325116913619626622 + \
73267460800591547471830798392868535206946944540724 + \
76841822524674417161514036427982273348055556214818 + \
97142617910342598647204516893989422179826088076852 + \
87783646182799346313767754307809363333018982642090 + \
10848802521674670883215120185883543223812876952786 + \
71329612474782464538636993009049310363619763878039 + \
62184073572399794223406235393808339651327408011116 + \
66627891981488087797941876876144230030984490851411 + \
60661826293682836764744779239180335110989069790714 + \
85786944089552990653640447425576083659976645795096 + \
66024396409905389607120198219976047599490197230297 + \
64913982680032973156037120041377903785566085089252 + \
16730939319872750275468906903707539413042652315011 + \
94809377245048795150954100921645863754710598436791 + \
78639167021187492431995700641917969777599028300699 + \
15368713711936614952811305876380278410754449733078 + \
40789923115535562561142322423255033685442488917353 + \
44889911501440648020369068063960672322193204149535 + \
41503128880339536053299340368006977710650566631954 + \
81234880673210146739058568557934581403627822703280 + \
82616570773948327592232845941706525094512325230608 + \
22918802058777319719839450180888072429661980811197 + \
77158542502016545090413245809786882778948721859617 + \
72107838435069186155435662884062257473692284509516 + \
20849603980134001723930671666823555245252804609722 + \
53503534226472524250874054075591789781264330331690
print(str(number)[:10])

View File

@@ -1,16 +0,0 @@
counter = [0, 0]
for i in range(1, 1000001):
x=1
i2= i
while i>1:
if i%2==0:
i=i/2
x+=1
else:
i=3*i+1
x+=1
if x > counter[1]:
counter[0] = i2
counter[1] = x
print(counter)

View File

@@ -1,13 +0,0 @@
#https://betterexplained.com/articles/navigate-a-grid-using-combinations-and-permutations/
import math
def factorial(n):
x=1
for i in range(1, n+1):
x=x*i
return x
#print(factorial(40)/(factorial(20)*factorial(40-20)))
print(math.comb(40,20))

View File

@@ -1,9 +0,0 @@
num = 2**1000
result = 0
while num > 0:
d = num%10
num = num//10
result += d
print(result)

View File

@@ -1,75 +0,0 @@
wordNumber = {
1 : "one",
2 : "two",
3 : "three",
4 : "four",
5 : "five",
6 : "six",
7 : "seven",
8 : "eight",
9 : "nine",
10 : "ten",
11 : "eleven",
12 : "twelve",
13 : "thirteen",
14 : "fourteen",
15 : "fifteen",
16 : "sixteen",
17 : "seventeen",
18 : "eighteen",
19 : "nineteen",
20 : "twenty",
30 : "thirty",
40 : "forty",
50 : "fifty",
60 : "sixty",
70 : "seventy",
80 : "eighty",
90 : "ninety",
100 : "hundred",
1000 : "thousand",
"and" : "and"
}
for i in wordNumber:
wordNumber[i] = len(wordNumber[i])
def belowHundred(n):
if n <=20:
return wordNumber[n]
elif n<100:
d1=int(str(n)[0]) # 00x0
d2=int(str(n)[1]) # 000x
if d2==0:
return wordNumber[n]
else:
return wordNumber[d1*10] + wordNumber[d2]
def wordsofNum(n):
if n<100:
return belowHundred(n)
elif n<1000:
answersum = 0
d1=int(str(n)[0]) # 0x00
d2=int(str(n)[1]) # 00x0
d3=int(str(n)[2]) # 000x
answersum+=wordNumber[d1] + wordNumber[100]
if d2!=0 or d3!=0:
answersum+=belowHundred(int(str(n)[1:3]))
answersum+=wordNumber["and"]
return answersum
elif n==1000:
return wordNumber[1] + wordNumber[1000]
x=0
for n in range(1, 1001):
x+=wordsofNum(n)
print(x)

View File

@@ -1,11 +0,0 @@
#Same as task 67
with open('./../18.txt') as fp:
data = [list(map(int, line.strip().split(' '))) for line in fp]
data.reverse()
for i in range(len(data)):
for j in range(len(data[i])-1):
data[i+1][j]+= (data[i][j] if data[i][j]>data[i][j+1] else data[i][j+1])
print(data[len(data)-1][0])

View File

@@ -1,38 +0,0 @@
#Day number, month, year
date = [366, 1, 1901]
Month = {
1:31,
2:28,
3:31,
4:30,
5:31,
6:30,
7:31,
8:31,
9:30,
10:31,
11:30,
12:31
}
result = 0
while date[2]<=2000:
date[1]=1
Month[2]=28
if date[2]%4==0:
if date[2]%100==0 and date[2]%400!=0:
print("special: " + str(date[2]))
break
Month[2]=29
for i in range(1,13):
date [0]+=Month[i]
if date[0]%7==0:
result+=1
date[2]+=1
print(result)

View File

@@ -1,64 +0,0 @@
import math
def factorial(n):
if n==1:
return 1
else:
return n*factorial(n-1)
def isPrime(n):
for i in range(2, int(n)):
if (n%i==0):
return False
return True
def primesIn(n):
counter = 0
primes = []
for i in range(2, n):
if isPrime(i):
primes.append(i)
counter+=1
return primes
def factorize(n):
factors = []
if isPrime(n):
factors.append(n)
else:
while not isPrime(n):
for i in range(2,int(n)):
if n%i==0:
factors.append(i)
n=n/i
break
factors.append(n)
return factors
primes = []
for i in range(2,101):
if isPrime(i):
primes.append(i)
primeDict = { i : 0 for i in primes }
for i in range(2,101):
num = factorize(i)
print(i)
for j in range(0, len(num)):
primeDict[num[j]] = primeDict[num[j]] + 1
print("Primedict " + str(num[j]) + " ++")
print(primeDict)
num = factorial(100)
result = 0
while num > 0:
d = num%10
num = num//10
result += d
int(str(num)[:10])

View File

@@ -1,35 +0,0 @@
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
def factorize(n):
factors = [1]
if not is_prime(n) and n>1:
for i in range(2,n):
if n%i==0:
factors.append(i)
return factors
def sumFactors(factors):
result = 0
for i in factors:
result+=i
return result
result = 0
for i in range(2, 10001):
b = sumFactors(factorize(i))
if i==sumFactors(factorize(b)) and i!=b:
result+=i
print(result)

View File

@@ -1,22 +0,0 @@
import csv
def wordSum(n):
wordsum=0
for character in n:
wordsum+=ord(character)-64
return wordsum
data =[]
with open('./../22.txt') as file:
reader = csv.reader(file, delimiter=",", quotechar='"')
data = list(reader)[0]
data.sort()
totalsum=0
counter=1
for i in data:
totalsum+=wordSum(i)*counter
counter+=1
print(totalsum)

View File

@@ -1,26 +0,0 @@
def factors(x):
result = [1]
i = 2
while i*i <= x:
if x % i == 0:
result.append(i)
if x//i != i:
result.append(x//i)
i += 1
return result
def isAbundant(x):
return sum(factors(x)) > x
abundantNumbers = [num for num in range(1, 28123) if isAbundant(num)]
sums = [True for _ in range(1,28123)]
for i in range(len(abundantNumbers)):
for k in range(len(abundantNumbers)):
try:
sums[abundantNumbers[i] + abundantNumbers[k]] = False
except IndexError:
pass
print(sum([i for i, x in enumerate(sums) if x]))

View File

@@ -1,7 +0,0 @@
import itertools
perms = list(itertools.permutations([0,1,2,3,4,5,6,7,8,9], 10))
print(''.join(map(str, perms[1000000-1])))

View File

@@ -1,27 +0,0 @@
#!/usr/bin/env python2.7
def fib(n):
if n==1 or n==2:
return 1
else:
return fib(n-1)+fib(n-2)
def fibn(n):
var1=1
var2=1
bet=0
for i in range(2, n):
bet=var2
var2=var2+var1
var1=bet
return var2
i = 1
while len(str(fibn(i)))<1000:
i+=1
print(i)

View File

@@ -1,16 +0,0 @@
numsWithRecurringCycles = [n for n in range(2,1000) if n % 2 != 0 and n % 5 != 0]
def digits(num, divisor):
x = num
storedSums = []
while not x*10 in storedSums:
x *= 10
storedSums.append(x)
x %= divisor
return len(storedSums)
digitNumList = [digits(1, n) for n in numsWithRecurringCycles]
print(numsWithRecurringCycles[digitNumList.index(max(digitNumList))])

View File

@@ -1,30 +0,0 @@
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
a=0
b=0
maxn=0
for i in range(-1000, 1001):
for j in range(-1000, 1001):
n = 1
while True:
if not is_prime(n**2+i*n+j):
break
n+=1
if n > maxn:
a=i
b=j
maxn = n
print(a*b)

View File

@@ -1,13 +0,0 @@
split = 2
x = 1
result = 1
while split != 1000:
for i in range(4):
x += split
result+=x
split +=2
print(result)

View File

@@ -1,15 +0,0 @@
powerList = []
for i in range(2, 101):
for j in range(2, 101):
powerList.append(i**j)
powerList.sort()
i=0
while i < len(powerList):
if powerList[i]==powerList[i-1]:
powerList.pop(i)
i-=1
i+=1
print(len(powerList))

View File

@@ -1,7 +0,0 @@
def isDigitSum(n):
x=sum([int(i)**5 for i in str(n)])
if n==x:
return True
return False
print(sum([i for i in range(2,1000000) if isDigitSum(i)]))

View File

@@ -1,14 +0,0 @@
from itertools import permutations
from math import ceil
def isPanDigital(i,j,x):
return sorted(str(i) + str(j) + str(x)) == ['1' ,'2', '3', '4', '5', '6', '7', '8', '9']
panDigits = []
for i in range(1,10000):
for j in range(1,ceil(10000/i)):
prod = i*j
if isPanDigital(i, j, prod) and not prod in panDigits:
panDigits.append(prod)
print(sum(panDigits))

View File

@@ -1,40 +0,0 @@
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
def factorize(n):
factors = []
if is_prime(n):
factors.append(n)
else:
while not is_prime(n):
for i in range(2,n):
if n%i==0:
factors.append(i)
n=n/i
break
factors.append(n)
return factors
for i in range(10, 100):
for j in range(10, 100):
if \
(int(str(i)[0]) == int(str(j)[1]) or \
int(str(i)[1]) == int(str(j)[0]) or \
int(str(i)[1]) == int(str(j)[1]) or \
int(str(i)[0]) == int(str(j)[0])) and \
not (i%10==0 and j%10==0):
if not any(elem in factorize(i) for elem in factorize(j)):
print(str(i) + " : " + str(j))
#Trivial examples betyr muligens at det er snakk om alt som ikke kan deles på en integer...

View File

@@ -1,20 +0,0 @@
def factorial(n):
x=1
for i in range(1, n+1):
x=x*i
return x
def sumFact(n):
sumfact=0
for i in str(n):
sumfact+=factorial(int(i))
return sumfact
result = 0
for i in range(3, 1000000):
if sumFact(i)==i:
result+=i
print(result)

View File

@@ -1,26 +0,0 @@
import itertools
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
result=0
for i in range(1,1000001):
if not any(num in str(i) for num in ("0","2","4","6","8")):
x = list(itertools.permutations(str(i), len(str(i))))
x=["".join([str(a) for a in elem]) for elem in x]
if any([True for n in x if is_prime(int(n))]):
result+=1
print(result)
# for j in range(len(str(i))):

View File

@@ -1,9 +0,0 @@
def isPalindromic(n):
if n==int(str(n)[::-1]):
return True
else:
return False
print(sum([i for i in range(1,1000001) if isPalindromic(i) and isPalindromic(int(str(bin(i))[2:]))]))

View File

@@ -1,4 +0,0 @@
from math import prod
longNum = "".join([str(i) for i in range(1000000)])
print (prod([int(longNum[10**i]) for i in range(7)]))

View File

@@ -1,21 +0,0 @@
import csv
import math
with open('./../42.txt') as file:
reader = csv.reader(file, delimiter=",", quotechar='"')
words = list(reader)[0]
def wordValue(n):
return sum([ord(i.lower())-96 for i in n])
def triangleBase(n):
return (math.sqrt(8*n+1)-1)/2
result = 0
for i in words:
n = wordValue(i)
if triangleBase(n).is_integer():
result+=1
print(result)
#inverse triangle: (sqrt(8*n+1)-1)/2

View File

@@ -1,18 +0,0 @@
from itertools import permutations
pan = "".join([str(i) for i in range(0,10)])
panPerms = ["".join(i) for i in permutations(pan)]
primes = [2,3,5,7,11,13,17]
sum=0
isDivisible=True
for i in range(len(panPerms)):
isDivisible=True
for j in range(len(primes)):
x = panPerms[i][1+j:4+j]
if not int(x)%primes[j]==0:
isDivisible = False
break
if isDivisible:
sum+=int(panPerms[i])
print(sum)

View File

@@ -1,5 +0,0 @@
#
#Inverse Pentagonal: (sqrt(24*n+1)+1)/6

View File

@@ -1,16 +0,0 @@
import math
def hex(n):
return n*(2*n-1)
i=144
while True:
x=hex(i)
if ((math.sqrt(24*x+1)+1)/6).is_integer() and ((math.sqrt(8*x+1)-1)/2).is_integer():
print(x)
break
i+=1
#Inverse Pentagonal: (sqrt(24*n+1)+1)/6
#Inverse Triangle: (sqrt(8*n+1)-1)/2

View File

@@ -1,4 +0,0 @@
sum= sum([i**i for i in range(1,1001)])
print(str(sum)[-10:])

View File

@@ -1,43 +0,0 @@
from itertools import permutations
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
num = []
for i in range (1000, 10000):
perms = list(permutations(str(i)))
perms = ["".join([str(x) for x in elem]) for elem in perms]
x = (lambda a, b: any(j in b for j in a))(perms, num)
if not x:
num.append(str(i))
num.pop(num.index("1478"))
#For all 4 digit numbers:
#If any permutation of i is already in num[], don't append, else append
#Remove 1487 from num[]
for i in num:
perms = list(permutations(str(i)))
perms = ["".join([str(x) for x in elem]) for elem in perms]
for j in range(len(perms)):
if not (int(perms[j])>=1000):
perms.pop(j)
primes=0
for j in perms:
if is_prime(int(j)):
primes+=1
if primes<=3:
pass

View File

@@ -1,19 +0,0 @@
def containsSameDigits(a, b):
if sorted(a) == sorted(b):
return True
return False
i=1
while True:
counter = 0
for j in range(6):
if not containsSameDigits(str(i),str(i*(j+1))):
break
else:
counter+=1
if counter==6:
print(i)
break
i+=1

View File

@@ -1,12 +0,0 @@
import math
result = 0
for i in range(22,101):
for j in range(0,101):
if j > i:
break
if math.comb(i,j)>1000000:
result+=((i-(j-1))-j)
break
print(result)

View File

@@ -1,11 +0,0 @@
def digitSum(n):
return sum([int(i) for i in str(n)])
max = 0
for a in range(100):
for b in range(100):
if digitSum(a**b)>max:
max = digitSum(a**b)
print(max)

View File

@@ -1,36 +0,0 @@
# def SQRConvergent(n):
# if n==0:
# return (0)
# else:
# return 1+(1/(2+SQRConvergent2(n-1)))
# def SQRConvergent2(n):
# if n==0:
# return (0)
# else:
# return (1/(2+SQRConvergent2(n-1)))
def memoize(f):
memo = {}
def helper(x):
if x not in memo:
memo[x] = f(x)
return memo[x]
return helper
#(p/r) -> r2=r1+p1
# p2=p1+2*r1
def SQRCFraction(n):
x = [3,2]
for i in range(n-1):
x = [x[0]+2*x[1], x[0]+x[1]]
return x
def countDigits(n):
return sum([1 for i in str(n)])
result=0
for i in range(1000):
if countDigits(SQRCFraction(i+1)[0]) > countDigits(SQRCFraction(i+1)[1]):
result+=1
print(result)

View File

@@ -1,33 +0,0 @@
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
split = 2
x = 1
primes = 0
total=1
while True:
for i in range(4):
total+=1
x += split
if is_prime(x):
primes+=1
if (primes/total<0.1):
break
#print(str(primes) + " - " + str(total) + "→" + str(primes/total))
split +=2
print(split+1)

View File

@@ -1,16 +0,0 @@
import csv
with open('./../59.txt') as file:
reader = csv.reader(file, delimiter=",")
numbers = list(reader)[0]
numbers = [int(i) for i in numbers]
#Det finnes mange 80 i txt-filen. Derfor kan vi anta at dette bør være mellomrom, altså 32
#80 -> 01010000
#XOR 01110000 -> 112
#32 -> 00100000
xored=[i^112 for i in numbers]
message = [chr(i) for i in xored]
print(message)

View File

@@ -1,7 +0,0 @@
def squaresum(n) :
return (n*(n+1)*(2*n+1))//6
sum1= squaresum(100)
sum2= sum(range(1,101))**2
print(sum2-sum1)

View File

@@ -1,18 +0,0 @@
def has5Permutations(n):
return numberList[len(n)].count(n) == 5
numberList = [[] for _ in range(100)]
i=1
while True:
n = i**3
sortedN = ''.join(sorted(str(n)))
numberList[len(sortedN)].append(sortedN)
if has5Permutations(sortedN):
index = numberList[len(sortedN)].index(sortedN)
print((sum([len(numberList[j]) for j in range(len(sortedN)) ]) + index+1) ** 3)
exit(0)
i += 1

View File

@@ -1,57 +0,0 @@
import math
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
def tot(n):
if is_prime(n):
return n-1
else:
return len([i for i in range(1,n) if math.gcd(i,n)==1])
def phi(n) :
result = n # Initialize result as n
# Consider all prime factors
# of n and for every prime
# factor p, multiply result with (1 - 1 / p)
p = 2
while(p * p<= n) :
# Check if p is a prime factor.
if (n % p == 0) :
# If yes, then update n and result
while (n % p == 0) :
n = n // p
result = result * (1.0 - (1.0 / (float) (p)))
p = p + 1
# If n has a prime factor
# greater than sqrt(n)
# (There can be at-most one
# such prime factor)
if (n > 1) :
result = result * (1.0 - (1.0 / (float)(n)))
return (int)(result)
max = [0,0]
for n in range(2,1000001):
totn = phi(n)
if n/totn > max[1]:
max = [n, n/totn]
print(max)

View File

@@ -1,29 +0,0 @@
def isPrime(n):
for i in range(2, int(n**0.5)):
if (n%i==0):
return False
return True
def is_prime(n):
if n == 2 or n == 3: return True
if n < 2 or n%2 == 0: return False
if n < 9: return True
if n%3 == 0: return False
r = int(n**0.5)
f = 5
while f <= r:
if n%f == 0: return False
if n%(f+2) == 0: return False
f +=6
return True
x=0
y=0
while y!=10001:
x+=1
if is_prime(x):
y+=1
# print(str(y) + " -> " + str(x))
print(x)

View File

@@ -1,46 +0,0 @@
def phi(n) :
result = n # Initialize result as n
# Consider all prime factors
# of n and for every prime
# factor p, multiply result with (1 - 1 / p)
p = 2
while(p * p<= n) :
# Check if p is a prime factor.
if (n % p == 0) :
# If yes, then update n and result
while (n % p == 0) :
n = n // p
result = result * (1.0 - (1.0 / (float) (p)))
p = p + 1
# If n has a prime factor
# greater than sqrt(n)
# (There can be at-most one
# such prime factor)
if (n > 1) :
result = result * (1.0 - (1.0 / (float)(n)))
return (int)(result)
def containsSameDigits(a, b):
if sorted(str(a)) == sorted(str(b)):
return True
return False
result = 0
minimum = 1000
for i in range(2,10**7):
x = phi(i)
if containsSameDigits(i, x) and i/x< minimum:
result = i
minimum = i/x
print(result)
print(result)

View File

@@ -1,17 +0,0 @@
x = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450"
max1 = 0
for i in range(0, 1000-12):
y=x[i:i+13]
z=1
for j in range(0,13):
z = z*int(y[j])
if z > max1:
print(z)
max1 = z
print(max1)

View File

@@ -1,11 +0,0 @@
for i in range(1,1001):
a = i
for j in range(1,1001-i):
b= j
if (a+b)>=1000:
break
c=1000-a-b
if a**2+b**2==c**2:
print(a*b*c)
exit()

View File

@@ -1,19 +0,0 @@
def squareOfDigits(n):
n=str(n)
return sum([int(n[i])**2 for i in range(0, len(n))])
result=0
for i in range(1, 10000000):
if i%100000==0:
print(str(i/100000) + "%")
while True:
i=squareOfDigits(i)
if i==1:
break
elif i==89:
result+=1
break
print(result)

View File

@@ -1,5 +0,0 @@
print(str(28433*(2**7830457)+1)[-10:-0])
# for i in range(40):
# print(2**i)

View File

@@ -1,23 +0,0 @@
b = ["ABAR 200", "CDXE 500", "BKWR 250", "BTSQ 890", "DRTY 600"]
c = ["A", "B"]
def stock_list(listOfArt, listOfCat):
n = []
for item in listOfArt:
n.append(item.split(" "))
sum = []
for item in range(len(listOfCat)):
sum.append(0)
#sum[item]+= [int(x[1]) for x in n if listOfCat[item]==x[0][0]
for x in n:
if listOfCat[item]==x[0][0]:
sum[item]+=int(x[1])
return sum
print(stock_list(b,c))