行云

行至水穷处,坐看云起时。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  编程之美

摘要:#define N 10int lis[N+1][N+1];int *LIS(int *a){ for (int i=1; i<=N; i++) { lis[i][0]=1; lis[i][1]=a[i]; for (int j=1;j<i; j++) { if (a[i]>lis[j][lis[j][0]]) { lis[j][0]++; lis[j][lis[j][0]] = a[i]; } ... 阅读全文
posted @ 2012-05-15 23:04 windflying 阅读(329) 评论(0) 推荐(0)

摘要:题目:p215 寻找不能被[2,31]中连续两个数整除,但能被其它数整除的数long long GCD(long long a, long long b){ if (b == 0) return a; return GCD(b, a%b);}long long LCM(long long a, long long b){ return a*b/GCD(a,b);}long long FindNumber(){ long long lcm=2; for (int j=2; j<31; j++) { lcm=1; for... 阅读全文
posted @ 2012-05-09 10:32 windflying 阅读(304) 评论(0) 推荐(0)

摘要:对于一个正整数,输出它所有可能的连续自然数之和的算式1+2=34+5=92+3+4=9根据题意,有:s+(s+1)+(s+2)+...+(s+k) = n(k+1)s + (k+1)k/2 = n(k+1)(2s+k)=2ns = (2n/(k+1)-k)/2因为 s, k都是整数,所以应满足2n%(k+1)==0 && (2n/(k+1)-k)%2==0void Print(int n, int s, int k){ printf("%d=",n); for (int i=s; i<=s+k; i++) { if (i==s) print... 阅读全文
posted @ 2012-05-09 08:39 windflying 阅读(739) 评论(1) 推荐(1)