Skip to content

Instantly share code, notes, and snippets.

require "mathn"
def f(x)
a = []
hash = {}
n = 1/x
while hash[n].nil?
hash[n] = true
n *= 10
n -= n.to_i
end
require "prime"
mx = 1000
res = [0, 0, 0]
for b in -mx+1...mx
next unless b.prime?
for a in -mx+1...mx
l = 0
l += 1 while (l*l + a*l + b).prime?
res = [res, [l, a, b]].max
$facto = [1]
for i in 1..10
$facto[i] = $facto[i-1] * i
end
def f(n)
res = 0
until n.zero?
res += $facto[n%10]
n /= 10
end
p 1.upto(9999).count{|n|
50.times.all?{
n += n.to_s.reverse.to_i
n.to_s != n.to_s.reverse
}
}
#=> 249
@MiSawa
MiSawa / gist:3931689
Created October 22, 2012 14:12
PE problem 0092
#!/usr/bin/ruby
def f(n)
n.to_s.split('').map(&:to_i).inject(0){|a,b|a+b**2}
end
a = Hash.new do |hash, n|
hash[n] = (n == 1 || n == 89) ? n : hash[f(n)]
end
p 1.upto(1E7).count{|n|a[f(n)] == 89}
#=> 8581146
p Hash.new{|hash, n|
hash[n] = n.zero? ? 1 : n < 0 ? 0 : (1..4).map{|i|hash[n-i]}.inject(&:+)
}[50]
#=> 100808458960497
#include <iostream>
typedef long long ll;
using namespace std;
const int MOD = (int)(1E9+7);
struct MOD_INT{//{{{
int x;
MOD_INT(const int &x=0): x((x%MOD+MOD)%MOD){}
MOD_INT(const ll &x=0): x((x%MOD+MOD)%MOD){}
MOD_INT(const MOD_INT &o): x(o.x){}
@MiSawa
MiSawa / sniplate00.cc
Last active December 12, 2015 07:49
samples for sniplate.vim
#include <iostream>
#include <vector>
#include <cassert>
using namespace std;
//BEGIN SNIPLATE sum
//{{abbr: sum for vector<double>}}
//{{class: util, statistics}}
//{{pattern: SNIPLATE_SUM}}
double sum(vector<double> in) { //SNIPLATE_SUM
@MiSawa
MiSawa / sample00.cc
Last active December 12, 2015 07:58
results of sniplate.vim.
double sum(vector<double> in) { //SNIPLATE_SUM
double res = 0;
for(int i = 0; i < in.size(); ++i) {
res += in[i];
}
return res;
}
double variance_s(vector<double> in) {
double avg = average(in);
for(int i = 0; i < in.size(); ++i) {
@MiSawa
MiSawa / trace.cc
Last active December 17, 2015 19:39
#include <iostream>//{{{
#include <string>
#include <vector>
#include <deque>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <list>
#include <bitset>