2014年4月19日

BNUOJ 1006 Primary Arithmetic

摘要: Primary Arithmetic 来源:BNUOJ 1006http://www.bnuoj.com/v3/problem_show.php?pid=1006 当你在小学学习算数的时候,老师会教你把两个数由右至左按位加起来。 很多时候,加法过程中会出现进位。对于一部分孩子,理解这个“进位” 在当 阅读全文

posted @ 2014-04-19 18:54 华山青竹 阅读(468) 评论(0) 推荐(0) 编辑

2014年4月7日

堆和栈的区别 【转】

摘要: http://6520874.blog.163.com/blog/static/725827192010930102014899/?suggestedreading&wumii 最近太过执着于一些底层概念,《堆和栈的区别》这篇经典的博文已经被转载过N次,但还是转到这里,以方便日后查阅。谨对原创表示感 阅读全文

posted @ 2014-04-07 16:06 华山青竹 阅读(219) 评论(0) 推荐(0) 编辑

关于malloc申请的动态内存的问题

摘要: http://bbs.bccn.net/thread-331344-1-1.html #include<stdio.h>#include<stdlib.h>int main(void){ int i; int a[5]={1,2,3,4,5}; int *b=(int *)malloc(sizeof 阅读全文

posted @ 2014-04-07 15:53 华山青竹 阅读(2140) 评论(0) 推荐(0) 编辑

2014年4月1日

斐波那契数列的低效与高效解法 【转】

摘要: 文章来自:http://blog.csdn.net/mshantingting/article/details/22689573斐波那契数列(又名黄金分割数列)在数学上的定义如下: 许多人包括作者自己在看到这道题的时候,第一个想法就是使用函数递归来实现程序。 1 #include 2 #inclu... 阅读全文

posted @ 2014-04-01 08:37 华山青竹 阅读(443) 评论(0) 推荐(0) 编辑

2014年3月30日

动态和静态顺序表【线性表(一)】

摘要: 线性表实现(一) 线性表可以考虑用顺序表、链表来实现。顺序表可以考虑静态、动态实现。 静态的顺序表有点像数组; 动态的就直接用malloc分配内存。分配完了,操作过程可以跟静态数组差不多,也可以考虑用指针。 具体看代码: 动态顺序表: 1 #include<stdio.h> 2 #include<s 阅读全文

posted @ 2014-03-30 16:55 华山青竹 阅读(789) 评论(0) 推荐(0) 编辑

2014年3月24日

欧几里德算法(辗转相除算法)练习

摘要: 来源:http://www.nowamagic.net/algorithm/algorithm_EuclideanAlgorithm.php欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b)。证明:a... 阅读全文

posted @ 2014-03-24 17:55 华山青竹 阅读(472) 评论(0) 推荐(0) 编辑

2014年3月22日

wikioi 1973 Fibonacci数列【输出第N项的值】

摘要: /*=====================================1978 Fibonacci数列 3 题目描述 Description 斐波纳契数列是这样的数列: f1 = 1 f2 = 1 f3 = 2 f4 = 3 .... fn = fn-1 + fn-2 输入一个整数n 求fn输入描述 Input Description 一个整数n, n 2 #include 3 int main() 4 { 5 int n; 6 double t,ans; 7 scanf("%d",&n); 8 ... 阅读全文

posted @ 2014-03-22 22:24 华山青竹 阅读(553) 评论(0) 推荐(0) 编辑

wikioi 1475 m进制转十进制

摘要: /*=====================================1475 m进制转十进制 题目描述 Description 将m进制数n转化成一个十进制数 m 2 int main() 3 { 4 char n[50]; 5 int m,i,ans,t; 6 ans=0; 7 scanf("%s",n); 8 scanf("%d",&m); 9 for(i=0;n[i]!='\0';i++)10 {11 if(n[i]>='0'&&n[i]='A'&&am 阅读全文

posted @ 2014-03-22 16:52 华山青竹 阅读(586) 评论(0) 推荐(0) 编辑

2014年3月21日

日学一算法---平方根倒数速算法【转】

摘要: 本文来源:http://blog.csdn.net/xiaoguohaha/article/details/21652643 文章太牛了,里面的算法更是让我膜拜万分,不得不转过来收藏一下。 我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系 阅读全文

posted @ 2014-03-21 15:01 华山青竹 阅读(1991) 评论(0) 推荐(0) 编辑

2014年3月13日

计算最大公约数的几种算法【网络整理】

摘要: =============================================================来自百度文库:http://wenku.baidu.com/link?url=yRVykgoauSWZnZv5j17zH4tBWJeU7s5teXzl56OPHYP0FNJZ3A... 阅读全文

posted @ 2014-03-13 01:02 华山青竹 阅读(1325) 评论(0) 推荐(0) 编辑

2014年3月12日

2的N次方 【转】

摘要: 题目的链接为:http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1009 题目为: 2的N次方 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 描述 编程精确计算2的N次方。(N是介于100和1000之间的整数)。 输入 正整数N (100≤N≤1000) 输出 2的N次方 样例输入 200 样例输出 1606938044258990275541962092341162602522202993782792835301376 很明显,这个不能直接 阅读全文

posted @ 2014-03-12 18:21 华山青竹 阅读(865) 评论(0) 推荐(0) 编辑

华东师大OJ:IP Address【IP地址转换】

摘要: /*===================================== IP AddressTime Limit:1000MS Memory Limit:30000KBTotal Submit:3394 Accepted:1530 Special JudgeDescriptionSuppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of '1s' and & 阅读全文

posted @ 2014-03-12 18:02 华山青竹 阅读(729) 评论(0) 推荐(0) 编辑

2014年3月11日

坐在马桶上看算法:快速排序【转】

摘要: 本文来源:http://developer.51cto.com/art/201403/430986.htm 高快省的排序算法 有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。 假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进 阅读全文

posted @ 2014-03-11 22:21 华山青竹 阅读(428) 评论(0) 推荐(0) 编辑

集合的划分【转】

摘要: 【文章参考来源:http://www.cnblogs.com/dolphin0520/archive/2011/07/12/2103917.html】 问题描述:n个元素的集合{1,2,……, n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集 阅读全文

posted @ 2014-03-11 18:16 华山青竹 阅读(817) 评论(0) 推荐(0) 编辑

递归练习:逆波兰表达式求解

摘要: 题目链接:http://ica.openjudge.cn/dg1/2/ http://noi.openjudge.cn/ch0202/1696/ 逆波兰表达式的递归定义:1) 一个数是一个逆波兰表达式,值为该数。2) "运算符 逆波兰表达式 逆波兰表达式" 是逆波兰表达式 , 值为两个逆波兰表达式的 阅读全文

posted @ 2014-03-11 16:07 华山青竹 阅读(621) 评论(0) 推荐(0) 编辑

2014年3月10日

九度OJ 1010:计算A+B【字符串和数组】

摘要: /*========================================================================题目1010:A + B时间限制:1 秒内存限制:32 兆题目描述:读入两个小于100的正整数A和B,计算A+B.需要注意的是:A和B的每一位数字由对应的英文单词给出.输入:测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.输出:对每个测试用例输出1行,即A+B的值.样例输入:one + two =three four + five 阅读全文

posted @ 2014-03-10 22:04 华山青竹 阅读(782) 评论(0) 推荐(1) 编辑

2014年3月5日

Ackerman函数

摘要: Ackerman函数在许多讲解递归的书中都提到,但似乎又对解题没有太大的意义,暂时不知道了。不过这个东西,是一个数学知识点,暂时收藏于此吧。查了一下维基百科和百度百科,表面上两个定义不一样,仔细推敲其实是一样的。(维基百科里面A(m,n)和百度百科里面A(n,m)当中的参数n、m代表含义是一样的,只... 阅读全文

posted @ 2014-03-05 16:44 华山青竹 阅读(10107) 评论(1) 推荐(1) 编辑

数学:快速求幂算法

摘要: 本文转自CSND博客:http://blog.csdn.net/u013457107/article/details/20485619原文如下:快速求幂算法参见了别人的博客http://blog.sina.com.cn/s/blog_3f2fa9610100soxb.html,了解到了快速求幂的一种... 阅读全文

posted @ 2014-03-05 15:28 华山青竹 阅读(677) 评论(0) 推荐(0) 编辑

2014年3月4日

递归练习:猴子吃桃问题

摘要: /*===================================小猴子第一天摘下若干桃子,当即吃掉一半,又多吃一个.第二天早上又将剩下的桃子吃一半,又多吃一个.以后每天早上吃前一天剩下的一半另一个.到第10天早上猴子想再吃时发现,只剩下一个桃子了.问第一天猴子共摘多少个桃子?=======... 阅读全文

posted @ 2014-03-04 18:15 华山青竹 阅读(1393) 评论(0) 推荐(1) 编辑

递归练习:错排问题

摘要: /*======================================================================某人写了n封信和n个信封,如果所有的信都装错了信封。求所有的信都装错信封共有多少种不同情况?分析:这个涉及到组合数学里面的错排问题。先看下面的例题。组合学中... 阅读全文

posted @ 2014-03-04 11:10 华山青竹 阅读(1651) 评论(0) 推荐(0) 编辑

递归练习:走台阶

摘要: /*======================================================================有N阶台阶,上楼可以一次上一阶,也可以一次上二阶。编一个程序,计算共有多少种不同的走法。思路:分两类:(1)、第一步走一个台阶, 方法数是1;剩下n-1阶方... 阅读全文

posted @ 2014-03-04 10:49 华山青竹 阅读(582) 评论(0) 推荐(0) 编辑

递归练习:计算最大公约数和最小公倍数

摘要: /*======================================================================用递归的方法求最大公约数 。原理:欧几里得定理。gcd(a,b)=gcd(b,a mod b).其中,a>b>=0.====================... 阅读全文

posted @ 2014-03-04 10:05 华山青竹 阅读(673) 评论(0) 推荐(0) 编辑

递归练习:逆序输出一个十进制数的各位数字

摘要: /*======================================================================用递归的方法逆序输出一个十进制数的各位数字。这个题目的递归是单线的递归然后再单线回溯,所以可以考虑在递归过程输出数据。类似的题目:输出十进制数的二进制表示 ... 阅读全文

posted @ 2014-03-04 09:56 华山青竹 阅读(782) 评论(0) 推荐(0) 编辑

递归函数练习:输出菲波拉契(Fibonacci)数列的前N项数据

摘要: /*======================================================================著名的菲波拉契(Fibonacci)数列,其第一项为0,第二项为1,从第三项开始,其每一项都是前两项的和。编程求出该数列前N项数据。注意:Fibonacci... 阅读全文

posted @ 2014-03-04 09:34 华山青竹 阅读(4153) 评论(0) 推荐(0) 编辑

递归程序练习:输出十进制数的二进制表示

摘要: /*======================================================================递归程序练习:将十进制转换为二进制这里是把一个十进制数的二进制数表示形式给输出。由于是“单线路”的递归然后“沿着原线路”再回溯,所以可以考虑在递归的回溯阶段... 阅读全文

posted @ 2014-03-04 08:33 华山青竹 阅读(1612) 评论(0) 推荐(0) 编辑

2014年3月2日

递归函数练习——累乘

摘要: /*=====================================求1*2*3*……*n的值======================================*/#includeint leiCheng(int begin,int end); int jieCheng(int ... 阅读全文

posted @ 2014-03-02 16:07 华山青竹 阅读(827) 评论(0) 推荐(0) 编辑

递归练习——累加和

摘要: /*=================================用递归来计算1+2+3+……+n的值。 ===================================*/ 1 #include 2 long sum(long i); 3 int sum2(int a,int b); 4... 阅读全文

posted @ 2014-03-02 15:54 华山青竹 阅读(556) 评论(0) 推荐(0) 编辑

递归函数练习——输出角谷猜想各个步骤

摘要: /*=====================================角谷定理。输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。求经过多少次可得到自然数1。如:输入22,输出 22 11 34 17 52 26 13... 阅读全文

posted @ 2014-03-02 15:53 华山青竹 阅读(2013) 评论(0) 推荐(0) 编辑

递归练习:计算整数的各位数字之和

摘要: /*=====================================输入一个数,求这个数的各位数字之和。======================================*/ 1 #include 2 int fun(int n);//返回n的各位数字之和。递归函数. 3 in... 阅读全文

posted @ 2014-03-02 15:44 华山青竹 阅读(1197) 评论(0) 推荐(1) 编辑

Problem A+B(Big Integer)

摘要: /*========================================================================Problem A+B(Big Integer)Time Limit:1000MS Memory Limit:65536KBTotal Submit:3205 Accepted:922Description Give two positive integer A and B,calucate A+B.Notice that A,B is no more than 500 digits.Input The test case contain seve 阅读全文

posted @ 2014-03-02 13:40 华山青竹 阅读(695) 评论(0) 推荐(0) 编辑

2014年3月1日

Openjudge计算概论-角谷猜想

摘要: /*=====================================角谷猜想总时间限制: 1000ms 内存限制: 65536kB描述所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。 程序要求输入一个整数,将经过处理得到1的过程输出来。输入一个正整数输出从输入整数到1的步骤,每一步为一行,每一部中描述计算过程,假定输入为7,则输出为:7*3+1=2222/2=1111*3+1=3434/2=1717*3+1=5252/2=2626/2=13 阅读全文

posted @ 2014-03-01 22:11 华山青竹 阅读(980) 评论(0) 推荐(0) 编辑

Openjudge计算概论-DNA排序

摘要: /*=====================================DNA排序总时间限制: 1000ms 内存限制: 65536kB描述给出一系列基因序列,由A,C,G,T四种字符组成。对于每一个序列,定义其逆序对如下: 序列中任意一对字符X和Y,若Y在X的右边(不一定相邻)且Y 2 struct DNA 3 { 4 char a[50];//一个基因序列 5 int num;//本基因序列的逆序对个数 6 }; 7 int niXuDui(struct DNA d,int len);//统计DNA序列变量d的逆序对个数 8 int main() 9 {10 ... 阅读全文

posted @ 2014-03-01 19:32 华山青竹 阅读(1107) 评论(0) 推荐(1) 编辑

Openjudge计算概论-单词翻转

摘要: /*=====================================单词翻转总时间限制: 1000ms 内存限制: 65536kB描述输入一个句子(一行),将句子中的每一个单词翻转后输出输入只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。输出翻转每一个单词后的字符串样例输入hello world样例输出olleh dlrow本来是想输入一个单词→翻转该单词并输出,重复这个过程即可。但不懂为何总是提示Presentation Error。好吧,只好全部输入句子再扫描处理,遇到非空格的存到临时数组,遇到空格把临时数组逆序输出。======================= 阅读全文

posted @ 2014-03-01 18:18 华山青竹 阅读(991) 评论(0) 推荐(0) 编辑

2014年2月27日

【转】递归生成集合的所有组合

摘要: 本文原文链接:http://blog.csdn.net/syzcch/article/details/8208784题目描述输入一个集合,需要生成该集合所能得出的所有组合。举例说明:若输入集合为{1,2} , 需要生成的组合有{1},{1, 2},{2} 。该题目与生成集合的全排列有很多相似之处,同... 阅读全文

posted @ 2014-02-27 18:48 华山青竹 阅读(969) 评论(0) 推荐(0) 编辑

利用递归生成组合数C(n,m)

摘要: /*=====================================数的组合问题。从1,2,…,n中取出m个数,将所有组合按照字典顺序列出。如n=3,m=2时,输出:1 21 32 3这里只考虑从互不相同的n个数当中选择m个的情况。我的思路:这里采用的思路和上回解决递归生成全排列的思路差不... 阅读全文

posted @ 2014-02-27 18:43 华山青竹 阅读(5065) 评论(0) 推荐(0) 编辑

【转】全排列算法非递归实现和递归实现

摘要: 来源:http://blog.csdn.net/e3399/article/details/7543861(一)递归的全排列算法(A、B、C、D)的全排列为1、A后面跟(B、C、D)的全排列2、B后面跟(A、C、D)的全排列3、C后面跟(A、B、D)的全排列4、D后面跟(A、B、C)的全排列而对1中... 阅读全文

posted @ 2014-02-27 11:28 华山青竹 阅读(1262) 评论(0) 推荐(0) 编辑

2014年2月26日

Openjudge计算概论——数组逆序重放【递归练习】

摘要: 1 #include<stdio.h> 2 void fun(int i/*,int a[]*/,int n);//fun(n)表示要输入第n个数,然后进入下一层递归,回来后输出第n个数 3 int main() 4 { 5 int n,a[101]; 6 scanf("%d",&n); 7 //f 阅读全文

posted @ 2014-02-26 18:10 华山青竹 阅读(941) 评论(0) 推荐(0) 编辑

生成n个数的全排列【递归、回溯】

摘要: 下面是我自己按照自己的理解做的,其实有点浪费空间了: 1 #include<stdio.h> 2 int n,count;//n表示参与排列的数据的个数,count表示不同排列的个数 3 void fun(int a[],int flag[],int i,int ans[]); 4 //原始数据存放 阅读全文

posted @ 2014-02-26 18:05 华山青竹 阅读(12952) 评论(1) 推荐(1) 编辑

2014年2月11日

C++流格式控制符的使用【来自网络】

摘要: 注意添加<iomanip>头文件。 使用控制符控制输出格式 控制符 作用 dec 设置整数的基数为10 hex 设置整数的基数为16 oct 设置整数的基数为8 setbase(n) 设置整数的基数为n(n只能是16,10,8之一) setfill(c) 设置填充字符c,c可以是字符常量或字符变量 阅读全文

posted @ 2014-02-11 17:27 华山青竹 阅读(5825) 评论(0) 推荐(3) 编辑

2014年2月9日

利用函数进行模块化设计的一个案例

摘要: /*=====================================请开发一个自上而下的模块化程序,用于完成以下任务总时间限制: 1000ms 内存限制: 65536kB描述请开发一个自上而下的模块化程序,用于完成以下任务 a) 读取两个整数数组,数组的元素未经排序。 b) 将数组元素按递增排序。 c) 将已排序的数组合并。 d) 显示已排序的列表。 使用函数来完成以上每个任务。主函数中只包含函数调用。输入输入三行第一行两个数字 表示两个数组元素的个数第二行第一个数组第三行第二个数组输出输出一行,合并后的数组,注意这时仍然是第一个数组在前,第二个数组在后两个数组分别排序,但是... 阅读全文

posted @ 2014-02-09 17:55 华山青竹 阅读(1121) 评论(0) 推荐(0) 编辑

导航