- 博客(43)
- 收藏
- 关注
翻译 C++ 快速随机数生成器
问题:在计算旅行商问题中的欧几里得距离时,我试图使用 3-opt 算法来交换某些节点;因为大多情况下我有大约超过500个节点,我需要随机地选择至少1/3的节点进行交换。所以我需要一个快速产生随机数的函数(标准函数rand()太慢了)。不需要多么巧妙,差不多就行了。注:忘了说,我无法使用除了标准库(比如 STL,iostream 等)以外的库,所以 boost 库也不行。
2016-01-13 21:44:05
1302
翻译 Python 爬虫的工具列表
网络通用urllib -网络库(stdlib)。requests -网络库。grab - 网络库(基于pycurl)。pycurl - 网络库(绑定libcurl)。urllib3 - Python HTTP库,安全连接池、支持文件post、可用性高。httplib2 - 网络库。RoboBrowser - 一个简单的、极具Python风格的Python库,无需独立的浏览器即可浏览
2016-01-13 21:40:21
512
翻译 偏执却管用的10条Java编程技巧
经过一段时间的编码(咦,我已经经历了将近20年的编程生涯,快乐的日子总是过得很快),我们开始感谢那些好习惯。因为,你知道…“任何可能出错的事情,最后都会出错。”这就是人们为什么喜欢进行“防错性程序设计”的原因。偏执的习惯有时很有意义,有时则不够清晰也不够聪明,也许当你想到这样写的人的时候还会觉得有点怪异。下面是我列出的的个人感觉最有用而又偏执的 10 项 Java 编程技巧。请看:
2015-10-15 02:13:43
285
翻译 用Python制作Powerpoint演示文稿
简介不管你爱不爱,Powerpoint都被广泛应用于商务场合。文章不会争辩Powerpoint的优点,而是向你展示如何用Python使创建Powerpoint幻灯片自动化,以便去除掉在使用Powerpoint过程中一些单调乏味的工作。幸运的是,有一个优秀的用于创建和更新PowerPoint文件的Python库:python-pptx。该库的API非常详细,所以很容易使用。唯一棘手的
2015-10-13 23:45:02
4922
2
翻译 Java多维数组遍历
多维数组数组是Java中的一种容器对象,它拥有多个单一类型的值。当数组被创建的时候数组长度就已经确定了。在创建之后,其长度是固定的。下面是一个长度为10的数组:public class ArrayDemo { private int arraySize=10; public int[] arrayOfIntegers = new int[arraySize];}上面的代码
2015-10-01 00:24:56
305
翻译 我理解的 KMP 算法
最近一段时间,我一直在看 KMP 字符串模式匹配算法的各种不同解释。因为各种原因,没有找到一种我觉得好的解释。当我读到“……的前缀的后缀的前缀”时,我会不停地拍自己的脑袋。最后,花了大约30分钟将《算法导论》里相同的部分反反复复读了以后,我决定坐下来做一些例子和图解。现在,我已经搞清楚了这个算法并能对它解释。对于那些和我有一样想法的人,下面是我自己的理解。一方面,我不打算解释为什么它比朴素
2015-09-24 00:57:24
252
翻译 如何向非技术人员解释“稀疏傅里叶变换”算法?
让我们来演奏一架想象中的钢琴。钢琴的每个琴键都对应一个特定频率的声音。例如,一个比较有名的频率是国际标准音A(440赫兹)。当有琴键按下时,你听到的声音是一个完美的正弦波,振荡在440赫兹。同样,中央C对应的频率约为261赫兹声波。不过,每次只演奏一个音符太单调了,我们来尝试几个音符同时演奏。有趣的是,两个各不相关的声音结合起来,就创造一个全新的独特声音。它不再只是单一的频率,这是
2015-09-24 00:54:45
633
原创 PE 48 Self powers
//#include//using namespace std;//#define M 10000000000 //过大导致溢出错误////long long pow_m(int n)//{// long long ans=1;// long long tmp=n;// while(n)// {// if(n%2)// ans=ans*tmp%M;// tmp=tm
2015-06-11 00:42:11
261
原创 PE 30 Digit fifth powers
#include#includeusing namespace std;int add(int a,int b,int c,int d,int e,int f){ return f+10*e+100*d+1000*c+10000*b+100000*a;}int mul(int a,int b,int c,int d,int e,int f){ return pow(f,5)+p
2015-05-03 01:08:29
276
原创 PE 29 Distinct powers
x=set() #set集合不含重复元素for a in range(2,101): for b in range(2,101): x.add(a**b)print(len(x))Answer:9183
2015-05-02 00:26:46
272
原创 PE 28 Number spiral diagonals
#includeusing namespace std;int main(void){ int n; cin>>n;//n=1001 int ans=1; for(int i=n;i>=3;i-=2) ans+=(i*i*4-6*(i-1)); //从最外圈开始每一圈之和 cout<<ans<<endl; return 0;}Answer:
2015-05-02 00:19:08
246
原创 PE 27 Quadratic primes
#include#includeusing namespace std;#define MAX 2000001int bprime[MAX];int count(int a,int b){ int tmp=b,n=0; while(tmp>0&&!bprime[tmp]) { n++; tmp=n*n+a*n+b; } return n;}int main(vo
2015-05-02 00:06:37
305
原创 PE 26 Reciprocal cycles
#include#includeusing namespace std;int Cycle(int u,int d){ int count=0; int hash[10100],latest[10010]; memset(hash,0,sizeof(hash)); memset(latest,0,sizeof(latest)); while(u%d) { count++;
2015-03-22 00:50:13
258
原创 PE 25 1000-digit Fibonacci number
#include #include typedef char Digit;class BigInt{public: BigInt () { }; BigInt (unsigned int i); BigInt (const char* i); BigInt operator+ (const BigInt& big); int size() const { return nu
2015-03-21 23:14:13
251
原创 PE 24 Lexicographic permutations
#include#includeusing namespace std;int main(void){ int a[10]={0,1,2,3,4,5,6,7,8,9}; for(int i=1;i<1000000;i++) { next_permutation(a,a+10); //可生成字典序排列的函数 } for(int j=0;j<10;j++) cout<<
2015-03-19 23:23:35
349
原创 PE 23 Non-abundant sums
#includeusing namespace std;const int cnt=28124;bool is[cnt]={0};int abu[cnt];int num=0;bool isAbu(int n){ int sum=1,i; for(i=2;i*i<n;i++) if(n%i==0) sum+=i+n/i; if(i*i==n) sum+=i;
2015-03-19 23:18:44
354
原创 PE 22 Names scores
#pragma warning(disable: 4786) //STL无法处理太长的字符串#include#include#include#includeusing namespace std;#includevoid split(string& s,string delim,vector& ret){ string::size_type last=0; string
2015-03-19 22:53:12
297
原创 PE 21 Amicable numbers
#include#include using namespace std;int a[10001];int f(int i){ int m,n=0; for(int j=1;j<=sqrt(i);j++) { if(i%j==0) { n=n+j+i/j; } } m=sqrt(i); if(m*m==i) n-=m; n-=i; return n
2015-03-19 00:32:21
301
原创 PE 20 Factorial digit sum
#includeusing namespace std;int a[500]={1,1};void cheng(int a[],int k){ int i; for(i=1;i<=a[0];i++) { a[i]*=k; } for(int j=1;j<=a[0];j++) { a[j+1]+=a[j]/10; a[j]%=10; } while(a[a[0]
2015-03-18 00:30:48
272
原创 PE 19 Counting Sundays
#includeusing namespace std;const int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};bool leapYear(int n){ return (((n%4==0)&&(n%100!=0))||(n%400==0));}
2015-03-18 00:08:48
269
原创 PE 17 Number letter counts
#include using namespace std;int a[101] = {0,3,3,5,4,4,3,5,5,4,3,6,6,8,8,7,7,9,8,8};void init(void) //初始化数组{ a[20] = 6; a[30] = 6; a[40] = 5; a[50] = 5; a[60] = 5; a[70] = 7; a[80] = 6;
2015-03-17 23:54:06
350
原创 PE 18 Maximum path sum I
#includeusing namespace std;int main(){ int data[15][15] = { {75}, {95,64}, {17,47,82}, {18,35,87,10}, {20,4,82,47,65}, {19,1,23,75,3,34}, {
2015-03-17 23:50:27
457
原创 PE 16 Power digit sum
#include #includeusing namespace std;int a[1000];void init(int a[]){ string s; cin>>s; a[0]=s.length(); int i; for(i=1;i<=a[0];i++) { a[i]=s[a[0]-i]-'0'; }}void cheng(int a[],int n){
2015-03-17 00:16:31
295
原创 PE 15 Lattice paths
clc; %排列,四十步里选二十步clear;nchoosek(40,20)format longAnswer:137846528820
2015-03-16 23:38:54
280
原创 PE 11 Largest product in a grid
clc;clear;a=[08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 0849 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 0081 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 6552 70
2015-03-16 00:13:49
242
原创 PE 7 10001st prime
n=0for i=2:1000000000000 if isprime(i) n=n+1; end if n==10001 break; endendmatlab程序Answer:104743
2015-03-15 23:53:23
275
原创 PE 6 Sum square difference
m=0;n=0for i=1:100 m=m+i*i; n=n+i;endn*n-mAnswer:25164150
2015-03-15 23:49:08
236
原创 PE 5 Smallest multiple
#include using namespace std;int main(){ int i; int t=0; for (i=5000;;i++) { if ((i%11)==0 && (i%12)==0&&(i%13)==0 && (i%14)==0 && (i%15)==0 && (i%16)==0 && (i%17)==0 && (i%18)==0 && (i%19)==
2015-03-15 23:40:38
247
原创 PE 13 Large sum
clear;clc;a=[37107287533902102798797998220837590246510135740250463769376774900097126481248969700780504170182605387432498619952474105947423330951305812372661730962991942213363574161572522430563301
2015-03-15 23:34:29
309
原创 PE 8 Largest product in a series
clc;clear;a=[7, 3, 1, 6, 7, 1, 7, 6, 5, 3, 1, 3, 3, 0, 6, 2, 4, 9, 1, 9, 2, 2, 5, 1, 1, 9, 6, 7, 4, 4, 2, 6, 5, 7, 4, 7, 4, 2, 3, 5, 5, 3, 4, 9, 1, 9, 4, 9, 3, 4, 9, 6, 9, 8, 3, 5, 2, 0, 3, 1, 2, 7,
2015-03-15 23:25:13
353
原创 PE 9 Special Pythagorean triplet
#includeusing namespace std;int main(void){ int a,b; for(a=1;a<999;a++) for(b=1;b<1000-a;b++) { if(a*a+b*b==(1000-a-b)*(1000-a-b)) { cout<<a*b*(1000-a-b); goto here; } }
2015-03-14 00:55:03
258
原创 PE 10 Summation of primes
#includeusing namespace std;int isprime(int n){ if(n%2==0) return 0; for(int i=3;i*i<=n;i+=2) { if(n%i==0) return 0; } return 1;}int main(void){ long int i,sum; i=2; sum=0; whil
2015-03-14 00:53:49
251
原创 PE 12 Highly divisible triangular number
#includeusing namespace std;int sum(int n){ int i,j=0; for(i=1;i*i<=n;i++) { if(n%i==0) j+=2; //只需一半 } return j;}int main(void){ int i=2,n=3; while(sum(n)<=500) { i
2015-03-14 00:52:52
282
原创 PE 14 Longest Collatz sequence
/*#includeusing namespace std;long int result(long int n,long int m){ if(n==1) return m; //不能用递归! else if(n%2==1) { n=3*n+1; result(n,m+1); } else { n=n/2; result(n,m+
2015-03-14 00:49:15
342
原创 PE 4 Largest palindrome product
#includeusing namespace std;int palin(int n){ int m=n; int sum=0; while(m) //将原数颠倒 { sum=sum*10+m%10; m/=10; } if(sum==n) return 1; else return 0;}int main(void){ in
2015-03-12 23:45:50
304
原创 PE 3 Largest prime factor
#includeusing namespace std;int prime(long int i){ for(long int j=2;j*j<=i;j++) { if(i%j==0) return 1; } return 0;} int main(void){ __int64 n=600851475143 ; long int j=-1; long
2015-03-12 23:45:32
282
原创 PE 2 Even Fibonacci numbers
#includeusing namespace std;int Fib(int n){ if(n==1) return 1; else if(n==2) return 2; else return Fib(n-1)+Fib(n-2);}int main(void){ int i,sum=0; for(i=1;i<100000;i++) { if(Fib(i
2015-03-12 23:10:44
255
原创 PE 1 Multiples of 3 and 5
#includeint main(void){ int i,sum=0; for(i=1;i<1000;i++) { if(i%3==0||i%5==0) { sum+=i; } } printf("%d",sum); return 0;}
2015-03-12 23:01:24
299
leetcode1 Two Sum
class Solution {public: vector twoSum(vector &numbers, int target) { vector result(2,0); int i=1; for(vector::iterator iter1=numbers.begin();iter1!=numbers.end()-1;iter1++,i++)
2015-03-09 23:14:02
67
原创 Java之static
interface A{ public static void q(); //接口不能为静态}abstract class B{ public static void w1(){ System.out.print("fuleide"); } //protected abstract static void w2(); //抽象方法不能为静态 public stat
2014-09-27 12:40:29
259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人