Skip to content

Commit 17ed077

Browse files
committed
WIP on 78
1 parent c7a15f8 commit 17ed077

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

julia/euler77.jl

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
function primes(n)
2+
p = [2, 3, 5, 7]
3+
for k in 11:n
4+
flag = true
5+
for r in p
6+
if k%r == 0
7+
flag = false
8+
break
9+
elseif r > sqrt(k)
10+
break
11+
end
12+
end
13+
if flag
14+
p = [p, k]
15+
end
16+
end
17+
p
18+
end
19+
20+
21+
function no_of_sum(n)
22+
global p
23+
println("primes array $p")
24+
l = length(p)
25+
r = 0
26+
for k in 1:l
27+
if p[k] >= n
28+
break
29+
else
30+
r += no_of_sums(n-p[k], k)
31+
end
32+
end
33+
r # return value
34+
end
35+
36+
function no_of_sums(n, i)
37+
global p
38+
if i == 0 && n > 0
39+
return 0
40+
elseif n < p[i]
41+
return no_of_sums(n, i-1)
42+
elseif n == 0 && i > 0
43+
return 1
44+
else
45+
return no_of_sums(n-p[i], i) + no_of_sums(n, i-1)
46+
end
47+
end
48+
49+
n = 60
50+
println("primes below $n: $(primes(n))")
51+
n = 100
52+
global p
53+
p = primes(100)
54+
println("primes below $n: $(p)")
55+
k = 5
56+
println("No of ways of $k: $(no_of_sum(k))")
57+
58+
L, target = 5000, 11
59+
while true
60+
ways = [1, zeros(target)]
61+
for prime in p
62+
63+
end
64+
end

python/euler78.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
if __name__ == "__main__":
2+
limit = 10**5
3+
T = 10**6
4+
partitions = [1]+[0]*limit
5+
for k in range(1, limit+1):
6+
for n in range(k, limit+1):
7+
partitions[n] += partitions[n-k]
8+
if partitions[k] % T == 0:
9+
print("PE78 Ans: %d" % k)
10+
break

0 commit comments

Comments
 (0)