Skip to content

Instantly share code, notes, and snippets.

Riccardo Tacconi rtacconi

Block or report user

Report or block rtacconi

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Ruby factorial
# using first order functions
def factorial(n)
(1..n).inject(:*) || 1
end
factorial(4)
=> 24
View Haskell factorial
Prelude> let factorial n = product [1..n]
Prelude> factorial 2
2
Prelude> factorial 3
6
Prelude> factorial 4
24
View gist:11372469
punctuation = %w{; = - _ . , ? ! $}
letters = [('a'..'z'), ('A'..'Z')].map { |i| i.to_a }.flatten
"#{punctuation.sample}#{(0...10).map { letters[rand(letters.length)] }.join}#{rand(1000)}"
View gist:d007a23c453ad34ad70c
# just in case you work in a server were you do not have package groups defined. RHEL / CentOS
# yum groupinstall 'Development Tools'
yum -y install autoconf automake binutils bison flex gcc gcc-c++ gettext libtool make patch pkgconfig redhat-rpm-config rpm-build rpm-sign
@rtacconi
rtacconi / gist:b8cae8ddb23380b234c1
Last active Aug 29, 2015
return the number of combinations, of any length, that add up to that target_sum
View gist:b8cae8ddb23380b234c1
def combinations(array)
m = array.length
(1...2**m).map do | n |
(0...m).select { | i | n[i] == 1 }.map { | i | array[i] }
end
end
def calculate_combinations(comb_array, target_sum=15)
combinations(comb_array).map {|a| [a, a.inject(:+)]}.select {|v| v if v.last == target_sum}
end
View gist:88f711f8120aa7ba33e7
a = 95800
b = 217519
c = 414560
d = 422481
a**4 + b**4 + c**4 == d**4 # => true
@rtacconi
rtacconi / FrogJmp
Last active Aug 29, 2015
Codility coding challenge
View FrogJmp
# https://codility.com/demo/results/demoKSSE8R-5B3/
# A small frog wants to get to the other side of the road
# two solutions, this one gets 33% of scores:
def solution(x, y, d)
y % d > 0 ? ((y - x) / d) + 1 : (y - x) / d
end
# this gets 100% scores:
def solution(x, y, d)
@rtacconi
rtacconi / gist:690b60dd36a37d28a945
Created Jun 15, 2015
Ruby fibonacci using recursion
View gist:690b60dd36a37d28a945
def fibonacci(n)
n <= 1 ? 1 : fibonacci(n - 1) + fibonacci(n - 2)
end
View gist:e463fbc9afa7f0665cf9
Initial solution, test passing, 0% scores:
(1..a.size-2).each {|i| p (a.slice(i,a.size).inject(:+) - a.slice(0, i).inject(:+)) }.min
I found this on internet, 100% scores, very long:
puts "tape_equilibrium: "
return 0 if a.empty?
# Example data: N=5, P(1-4), A[3,1,2,4,3]
# P1:
@rtacconi
rtacconi / gist:c1064f72e80cf84c3415
Last active Aug 31, 2015
Fizz buzz in Ruby one liner
View gist:c1064f72e80cf84c3415
(1..100).each {|i| print i; print ' fizz' if i%3 == 0; print ' buzz' if i%5 ==0; puts}
# recursive
def fizzbuzz(n = 1)
if n < 101
print "#{i}: "
print "Fizz" if 0 == i % 3
print "Buzz" if 0 == i % 5
print "\n"
fizzbuzz(n + 1)
You can’t perform that action at this time.