This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "mathn" | |
def f(x) | |
a = [] | |
hash = {} | |
n = 1/x | |
while hash[n].nil? | |
hash[n] = true | |
n *= 10 | |
n -= n.to_i | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
p 1.upto(9999).count{|n| | |
50.times.all?{ | |
n += n.to_s.reverse.to_i | |
n.to_s != n.to_s.reverse | |
} | |
} | |
#=> 249 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
p Hash.new{|hash, n| | |
hash[n] = n.zero? ? 1 : n < 0 ? 0 : (1..4).map{|i|hash[n-i]}.inject(&:+) | |
}[50] | |
#=> 100808458960497 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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){} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream>//{{{ | |
#include <string> | |
#include <vector> | |
#include <deque> | |
#include <stack> | |
#include <queue> | |
#include <set> | |
#include <map> | |
#include <list> | |
#include <bitset> |
OlderNewer