
算法和数据结构
liucuicui0000
这个作者很懒,什么都没留下…
展开
-
最长平台问题 C实现
此问题来自《C语言名题精选白则》问题1.1最长平台(plateau.c) 已知一个从小到大排序的数组,这个数组中的一个平台(plateau)是连续的一串值相同的元素,并且这一串元素不能再延伸,例如,在1,2,2,3, 3, 3, 4 ,5 ,5 ,6中1, 2.2, 3.3.3, 4, 5.5, 6都是平台,编写一个程序接收一个数组,把这个数组中平台最长的平台找出来,在上面的例子中,原创 2015-01-20 16:14:21 · 3175 阅读 · 0 评论 -
2.12 二项式系数加法解 C实现
#include #include #define MAXSIZE 100unsigned long cnr(int n,int r){ unsigned long c[MAXSIZE]; int i,j; for(i=0;i<=r;i++) c[i] = 1UL; for(i=1;i<=n-r;i++) for(j=1;j<=r;j++) c原创 2015-01-22 18:21:36 · 1000 阅读 · 0 评论 -
2.7-2.8 数值自乘求解 C实现
该问题出自《C语言名题精选百则技巧篇》#include #include unsigned long recursive_power(unsigned long m,unsigned long n){ unsigned long temp; if(n==0) return 1; else if(n%2==0){ temp = recursive_原创 2015-01-22 17:10:18 · 869 阅读 · 0 评论 -
2.9-2.11 Fabonacci数列求解 C实现
#include #include unsigned long fibonacci(int n){unsigned long f0,f1,temp;int i;if(i return 1;else{ for(f0 =f1 = 1,i=3;i temp = f0+f1; f0 = f1; f1 = temp;}return原创 2015-01-22 17:40:31 · 828 阅读 · 0 评论 -
求质数1 C实现
该问题出自《C语言名题精选百则技巧篇》试编写一个程序,找出前N(如200)个质数。 最初想到的办法就是让某个变量i从2到N,然后检查它是不是质数,如果是的话就显示出来,如果不是就检查下一个,这样会让程序变的很慢,每一个要检查的数i,都要被2~i-1,除,如果余数为0则不是质数,如果全部余数都不为0,则该数是质数。我们现在想办法来缩小范围。包括待检测的变量的范围和检测变量需要的被除数2原创 2015-01-21 17:48:25 · 495 阅读 · 0 评论 -
求质数3 线性筛法 C实现
该问题出自《C语言名题精选百则技巧篇》 线性筛法的原理比上一篇筛法的原理简单,在求质数问题时,在删除非质数的数据时,有很多删除是重复的,例如,有一个数是3*7*17*23,那么在删除3的倍数时会删除它,在删除7,17,23的倍数时也会删除它,当求质数的范围比较大的时候,这样删除数据的方法效率就会降低很多,为了在删除非质数的时候不做重复的工作,即数只会被删除一次。 从2开始,先删原创 2015-01-22 14:31:41 · 641 阅读 · 0 评论 -
求质数2 筛法 C实现
该问题出自《C语言名题精选百则技巧篇》不用除法,用筛子把i的所有倍数去掉,求出2~N之间的所有质数。这个方法叫做筛法(Sieve Method)#include #define MAXSIZE 200 #define DELETED 1 #define KEPT 0 int main(int argc,char *argv[])原创 2015-01-21 21:28:38 · 569 阅读 · 0 评论 -
数字谜1 C实现
该问题出自《C语言名题精选百则技巧篇》在一些游戏与休闲的书中,经常看到如下的字谜: VINGT CINQ + CINQ TRENTE写一个程序进行破解。说明:数字谜的规则是这样 的:(1)不同的英文字母表示不同的数字,因此,题目中最左一行的TQE就是不同的数。原创 2015-01-21 15:49:21 · 3819 阅读 · 0 评论 -
2.16 连续整数的固定和 C实现
该问题出自《C语言名题精选百则技巧篇》题目:编写一个程序,读入一个正整数,把所有那些连续的和为给定正整数的正整数找出来,例如,如果输入27,发现2~7,8~10,13~14的和是27,这就是解答。如果输入的是10000,应该有18~142,297~328,388~412,1998~2002这4组,注意不见得一定有答案,比如,4、16就无解,另外排除只有一个数的情况,否则每一个输入就都至少有一个原创 2015-01-22 21:55:09 · 1685 阅读 · 0 评论