C
文章平均质量分 74
Up_Seeker
这个作者很懒,什么都没留下…
展开
-
递归的全排列去重算法
本博客声明:http://blog.csdn.net/up_seeker/article/details/8887257 给定任意字符串,求出其全排列比如:abc全排列为:abc,acb,bac,bca,cab,cba只要细心一点,便可发现其规律,每次用一个字符作为首字符,然后对后面的字符求全排列,用递归思想很容易得出其算法(对一个像我这样的编程小菜来说谈何容易?)这个算法原创 2013-05-05 18:44:46 · 2380 阅读 · 2 评论 -
APUE第16章的示例运行16-8
博客声明:http://blog.csdn.net/up_seeker/article/details/8887257最近在学习APUE第十六章的时候老是在运行的关口卡住,现将自己或别人的解决办法拿出来共享,有更好办法的希望拿出来和大家晒晒………APUE的16-8.c是将命令行给出的主机名和服务中的信息通过getaddrinfo映射到IP地址和端口,并打印出一些主机名、协议类型、端口信息等原创 2014-01-12 19:25:53 · 874 阅读 · 0 评论 -
蛇形填数
下面是一个有趣的算法——蛇形填数的代码(来自《算法竞赛入门经典》):#include #define MAX 10int main(){ int n, x=0, y=0, tot; int arr[MAX][MAX], i, j; //scanf("%d%d%d", &n, &x, &y); //可以输入x和y的值决定起点,默认为a[0][0]开始 s原创 2014-03-11 14:40:12 · 597 阅读 · 0 评论 -
韩信点兵
韩信点兵算法起源:摘自:http://wenwen.soso.com/z/q171749894.htm“将韩信用一种特殊方法清点士兵的人数。他的方法是:让士兵先列成三列纵队(每行三人),再列成五列纵队(每行五人),最后列成七列纵队(每行七人)。他只要知道这队士兵大约的人数,就可以根据这三次列队排在最后一行的士兵是几个人,而推算出这队士兵的准确人数。”自己实现的代码如下:#include原创 2014-03-11 15:18:21 · 842 阅读 · 0 评论 -
APUE16章的运行示例16-14
博客声明:http://blog.csdn.net/up_seeker/article/details/8887257参考文章:http://blog.csdn.net/andyxie407/article/details/1672325今天在运行在APUE第16章的16-14(客户端)和16-15(服务端)遇到了不少问题,搞了半天,运行方法多谢andyxie407的文章给了很好地参考(本原创 2014-01-12 20:06:13 · 1416 阅读 · 1 评论 -
开灯问题
问题描述《算法竞赛入门经典》:n个灯、第1个人把所有灯打开,第2个人按下所有编号为2的倍数的开关,这些灯将被关闭,第3个人按下所有编号为3的倍数的开关,打开的将被关闭,关闭的将被打开,以此类推,问第k个人过后,哪些灯开着,输入n和k,kCODE:#include #include #define max 1000int a[max];int main(){ int n原创 2014-03-11 15:51:30 · 652 阅读 · 0 评论 -
竖式表达式问题
竖式表达式问题《算法竞赛入门经典》:找出所有形式如abc*de(三个数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合,输入数字集合(相邻数字之间没有空格),输出所有竖式,每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样列输出(为了便于观察,竖式中的空格改用小数点显示,但实际的程序应该输出空格,而非小数点)。样例输入;2357样例原创 2014-03-11 17:24:44 · 884 阅读 · 0 评论 -
最大孪生素数
《算法竞赛入门经典》最大孪生素数是指在给定范围内的最大的m和稍微次之的m-2的两个素数代码:#include #include #include int is_prime(int n){ int i, m; assert(n > 0 && n < 10000); //检查输入的合法性 if (n == 1) return 0; m = floor(sqrt(n)+0原创 2014-03-24 13:28:53 · 3252 阅读 · 0 评论 -
精确求阶乘
《算法竞赛入门》:用较大的数组存放所求阶乘,在此定义的MAXN表示最大可求到数据长达3000位//阶乘的精确值#include #include #define MAXN 3000int f[MAXN]; //3000位数据,从0开始为个、十、百int main(){ int i, j, s, c, n; scanf("%d", &n); memse原创 2014-03-24 17:39:59 · 703 阅读 · 0 评论