Skip to content

Instantly share code, notes, and snippets.

@arn-e
arn-e / freq_analysis_first.rb
Created September 20, 2012 04:52
frequency analysis first char
def freq_analysis_first(msg)
f_freq,msg_arr,sum = Hash.new(0),msg.split(' '),0
msg_arr.each {|i| i.split('').each_with_index do |a,b|
f_freq[a], sum = f_freq[a] + 1, sum +1 if b == 0
end}
return f_freq.each {|a,b| f_freq[a] = calc_perc(b,sum)}.sort_by {|i,j| j}.reverse
end
@arn-e
arn-e / simple_postfix.js
Created September 20, 2012 20:18
simple postfix
function simple_postfix(input){
val = input.split(' ');
return eval(val[0] + val[2] + val[1]);
}
console.log("Result is : " + simple_postfix("4 2 +"));
@arn-e
arn-e / speed_dial_perm_results.rb
Created September 20, 2012 21:27
Speed Dial Permutation Results
speed_dial = SpeedDialPermutations.new
puts speed_dial.get_combinations( ["Up","Right","Left","Down"])
# Up,Up,Up,Right (etc.)
puts speed_dial.simulate( ["Up","Right","Left","Down"],0.01,6)
# Attempt 3 Unsuccessful : Up,Left,Down,Left : Elapsed time : 8.000366121 (etc.)
puts speed_dial.average_time( ["Up","Right","Left","Down"],10000,["Up","Down","Left","Right"])
#8.534266573342666
@arn-e
arn-e / match_char.rb
Created September 21, 2012 21:17
match_char
def match_char(hash_results)
dist,dist_c,match_hash = 100,"",Hash.new
hash_results.each { |a,b| @gen_char_freq.each { |c,d| dist,dist_c = (d-b).abs, c if (d-b).abs < dist}
match_hash[a],dist = dist_c,100}
return match_hash
end
@arn-e
arn-e / decode.rb
Created September 21, 2012 21:18
decode
def decode(to_decode,match_results)
match_results.each do |a,b|
decrypted = decrypt(((b.ord-a.ord).abs),to_decode)
decrypted.language == :english ? (return decrypted) : decrypted
end
end
@arn-e
arn-e / newton_functional.rb
Created September 22, 2012 19:43
newton functional
require 'benchmark'
@mod_256 = [true, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, true, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, true, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, true, true
@arn-e
arn-e / days_remaining.rb
Created October 3, 2012 22:55
Days Remaining In Year
# Description : Script to Return Remaining Days in the Year
# User puts in a date and gets the number of the day (e.g. day 1) and the number of days left in the year
class DayOfYear
def initialize
@days_in_months = [31,28,31,30,31,30,31,31,30,31,30,31]
end
def date_info(date)
return "days number : #{days_elapsed(date.month,date.day,date.year)}, days remaining in year : #{days_remaining(date.month,date.day,date.year)}"
@arn-e
arn-e / recursive_prime_factorization.rb
Created October 8, 2012 03:57
recursive_prime_factorization
def prime_factors(n, factors = [], f = 2)
return factors.push(f) if n == f
n % f == 0 ? prime_factors(n / f, factors.push(f)) : prime_factors(n, factors, f + 1)
end
@arn-e
arn-e / iterative_factors.rb
Created October 8, 2012 05:24
iterative prime factors
def prime_factors_iterative(n, f = 2, factors = [])
until n == f
n % f == 0 ? (factors, n, f = factors.push(f), (n/f), 2) : (f += 1)
end
return factors.push(f)
end
@arn-e
arn-e / benchmark_factors.rb
Created October 8, 2012 06:30
benchark_prime_factors.rb
Benchmark.bmbm do |x|
x.report('prime_factors') do
100.times { prime_factors(9000) }
end
x.report('prime_factors_iterative') do
100.times { prime_factors_iterative(9000) }
end
end
# user system total real
# prime_factors 0.010000 0.000000 0.010000 ( 0.002087)