首页 > 代码库 > 在GitHub上挖了两个坑

在GitHub上挖了两个坑

https://github.com/baihacker/pe

解决Project Euler上的问题的基础代码, 含数论代码和一个简单的多线程工具(为了计算出结果,最长的时候跑过一天半,所以开多线程有可能会减少几倍时间).

目前只有一些简单的筛选素数,分解整数,模运算,原根判断,找素数的原根,离散对数,分数计算. 算法也基本上用的是最朴素的.

接口设计主要考虑效率,提供C形式的库函数.在可控制的范围内,接口根据效率划分层次.另外还应该考虑库的线程安全性,以有利于多线程猥琐流.

计划慢慢使用C++,加上非朴素算法,一些初等数论中的其它算法,还有添加解决一些基础问题的python代码.

/*
static int plist[maxp/10];  
static int pmask[maxp+1];
static int pcnt;
int* phi = NULL;
int* miu = NULL;
const int64 pmpi[];


SL int64 estimate_pmpi(int64 n)
SL int is_prime(int64 n)
SL void init_primes()
SL void init_primes(int cal_phi, int cal_miu)


SL vector<pair<int64, int> > factorize(int64 n)
SL vector<int64> get_factors(const vector<pair<int64, int> >& f)
SL vector<int64> get_factors(int64 value)


SL int64 square_root(int64 n)
SL int64 add_mod(int64 a, int64 b, int64 mod)
SL int64 sub_mod(int64 a, int64 b, int64 mod)
SL int64 mul_mod(int64 a, int64 b, int64 mod)
SL int64 mul_mod_ex(int64 a, int64 b, int64 mod)
SL int64 power_mod(int64 x, int64 n, int64 mod)
SL int64 power_mod_ex(int64 x, int64 n, int64 mod)
SL int64 inv_of(int64 x, int64 p)


// Primitive Root
namespace pr{
SL bool is_pr(const vector<pair<int64, int> >& f, int64 x, int64 p)
SL bool is_pr(int64 x, int64 p)
SL int64 find_pr(int64 p)
int64 ind(int64 a, int64 pr, int64 p)
int64 ind1(int64 a, int64 pr, int64 p)
}


template<typename T>
struct Fraction;
*/

https://github.com/baihacker/dcfpe

刚YY的分布式计算工具. 将多线程猥琐流提升到分布式猥琐流. 

目前只有个简介,没有任何代码,

至于什么时候写,再说吧.

在GitHub上挖了两个坑