在GitHub上挖了两个坑

来源:互联网 发布:war包解析源码 编辑:程序博客网 时间:2024/04/30 03:41

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 Rootnamespace 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的分布式计算工具. 将多线程猥琐流提升到分布式猥琐流. 

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

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

0 0
原创粉丝点击