
算法
叶清逸
编程新人 hello world!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法_趣味分数_Question4_将真分数分解为埃及分数(java实现)
这篇文章讲述的是算法趣味分数部分的将真分数分解为埃及分数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述现输入一个真分数,请将该分数分解为埃及分数。真分数,分子小于分母,如1/2,3/5,8/9。埃及分数,古代埃及人在进行分数运算时,只使用分子是1的分数,因此这种分数也叫做埃及分数,或者叫单分...原创 2018-07-26 20:57:22 · 1024 阅读 · 0 评论 -
算法_趣味整数_Question4_回文数(java的两种实现方式)
这篇文章讲述的是算法趣味整数部分的回文数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述打印所有不超过n(假设n<256)的其平方具有对称性质的数(也称回文数)算法分析先遍历0-n中每一个数,取其平方再判断是不是回文数即可,为了方便可以借助栈(栈的特性是先进后出):将前一半...原创 2018-07-13 23:30:18 · 334 阅读 · 0 评论 -
算法_数学问题_Question10_马克思手稿中的数学(java实现)
这篇文章讲述的是算法初级部分的马克思手稿中的数学问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述马克思手稿中有一道趣味数学问题:有30个人,其中男人、女人和小孩,他们在同一家饭馆吃饭,总共花费了50先令。已知每个男人吃饭需要花3先令,每个女人吃饭需要花2先令,每个小孩吃饭需要花1先令,请编程求...原创 2018-07-08 01:00:25 · 2520 阅读 · 0 评论 -
算法_数学问题_Question9_舍罕王的失算(java实现)
这篇文章讲述的是算法初级部分的舍罕王的失算问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述相传国际象棋是古印度舍罕王的宰相达伊尔发明的。舍罕王非常喜爱象棋,决定让宰相自己选择一种赏赐。这位聪明的宰相指着8*8共64格的象棋说:陛下,请您给我一些麦子吧。就在棋盘的第1格中放入1粒,第2格放入2粒...原创 2018-07-08 00:35:52 · 2049 阅读 · 1 评论 -
算法_数学问题_Question8_猜牌术(java实现)
这篇文章讲述的是算法初级部分的猜牌术问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,并使牌面朝下。然后他对观众说:我不看牌,只要数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看,魔术师将最上边的那张牌数为1,把它反过来...原创 2018-07-08 00:14:36 · 751 阅读 · 0 评论 -
算法_趣味分数_Question3_歌星大赛奖平均分计算(java实现)
这篇文章讲述的是算法趣味分数部分的歌星大赛奖问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述在歌星大赛中,有10个评委为参赛的选手打分,分数为1~100分。选手的最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。算法分析使用一个数组存放分数,遍历取出最大...原创 2018-07-24 23:26:45 · 728 阅读 · 0 评论 -
算法_数学问题_Question7_爱因斯坦的数学问题(爬梯子java实现)
这篇文章讲述的是算法初级部分的爱因斯坦的数学问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步垮2阶,最后剩1阶,若每步垮3阶,最后剩两阶,若每步垮5阶,则最后剩4阶,若每步垮6阶最后剩5阶。只有每次垮7阶时,最后才正好一阶不剩。请问在1~N内,...原创 2018-07-07 00:26:45 · 1044 阅读 · 0 评论 -
算法_趣味分数_Question1_最大公约数(java实现)
这篇文章讲述的是算法趣味分数部分的最大公约数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述求任意两个数的最大公约数(GCD),最大公约数如果一个自然数a可以被自然数b整除,则称a为b的倍数,b为a的倍数。几个自然数有共有的约数,叫作这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自...原创 2018-07-18 00:55:15 · 849 阅读 · 0 评论 -
算法_数学问题_Question6_求车速(求对称数的java实现)
这篇文章讲述的是算法初级部分的求车数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述一辆车以固定速度行驶,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右和从右往左的读数是完全一样的),为95859,两个小时后里程表上出现了一个新的对称数,该数仍为5位数。问该车的速度为多少?新...原创 2018-07-03 21:50:29 · 1708 阅读 · 0 评论 -
算法_趣味整数_Question5_水仙花数(java实现)
这篇文章讲述的是算法趣味整数部分的水仙花数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如,153是“水仙花数”,因为153=1*1*1 + 5*5*5 + 3*3*3算法分析只需要将数拆分到一...原创 2018-07-14 00:14:50 · 376 阅读 · 0 评论 -
算法_趣味整数_Question6_阿姆斯克朗数(java实现)
这篇文章讲述的是算法趣味整数部分的阿姆斯克朗数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述所谓的“阿姆斯特朗数”是指一个三位数其各位数字的立方和等于该数本身,例如,153是“水仙花数”,因为153=1*1*1 + 5*5*5 + 3*3*3,需要注意的是阿姆斯特朗数与水仙花数的区别是阿姆斯...原创 2018-07-14 00:45:30 · 562 阅读 · 0 评论 -
算法_趣味分数_Question2_最小公倍数(java实现)
这篇文章讲述的是算法趣味分数部分的最小公倍数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述求任意两个数的最小公倍数(LCM),最小公倍数,如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最小的一个。计算最小公倍数通常要借助最大公约数来辅...原创 2018-07-18 01:16:24 · 281 阅读 · 1 评论 -
算法_趣味分数_Question7_分数比大小(java实现)
这篇文章讲述的是算法趣味分数部分的分数比大小问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述比较两个分数的大小算法分析计算两个分母的最小公倍数,把两个分数进行通分,再比较分子,分子大的就大。时间复杂度:O(log n) , 空间复杂度:O(1)代码实现package ...原创 2018-07-28 23:23:07 · 1162 阅读 · 0 评论 -
算法_趣味分数_Question6_多项式之和(java实现)
这篇文章讲述的是算法趣味分数部分的多项式之和问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述计算下列多项式的值: S = 1 + 1/(1*2) + 1/(1*2*3) + … + 1/(1*2*3*…*50)算法分析使用两层循环外层循环1-50表示执行多项式之和的次数,内层循环...原创 2018-07-28 23:00:32 · 292 阅读 · 0 评论 -
算法_趣味分数_Question5_列出真分数序列(java实现)
这篇文章讲述的是算法趣味分数部分的列出真分数序列问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述按递增顺序依次列出所有分母为40,分子小于40的最简分数。最简分数是分子、分母只有公因数1的分数叫最简分数或者说分子分母互质的分数是最简分数。算法分析先穷举出分子的所有情况,再判断出每种情...原创 2018-07-28 22:31:05 · 667 阅读 · 0 评论 -
算法_趣味整数_Question10_不重复的三位数(java实现)
这篇文章讲述的是算法趣味整数部分的不重复的3位数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述用1,2,3,4,共4个数字能组成多少个互不相同且无重复数字的三位数?都是多少?算法分析穷举法,使用3层循环来确定百、十、个为数,再判断每一位是否相等,不相等则输出代码实现pac...原创 2018-07-14 21:57:02 · 744 阅读 · 0 评论 -
算法_趣味整数_Question9_勾股数(java实现)
这篇文章讲述的是算法趣味整数部分的勾股数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述求100以内的所有勾股数,所谓勾股数,是指能够构成直角三角形三边的整数(a,b,c),即满足a*a+b*b=c*c算法分析穷举法使用三个循环确定a,b,c的值,再判断条件即可代码实现pack...原创 2018-07-14 21:26:07 · 1579 阅读 · 0 评论 -
算法_趣味整数_Question8_黑洞数(java实现)
这篇文章讲述的是算法趣味整数部分的黑洞数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述编程求出三位数的“黑洞数”,黑洞数又称陷阱数,任何一个数字不完全相同的整数,经有限次“重排求差”操作,总会得到一个或一些数,这些数即为黑洞数。“重排求差”操作是将组成一个数的各位数字重排得到的最大数减去最小...原创 2018-07-14 14:55:44 · 787 阅读 · 0 评论 -
算法_趣味整数_Question7_高次方的尾数(java实现)
这篇文章讲述的是算法趣味整数部分的高次方的尾数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述求13的13次方的最后三位数算法分析正常的思路是将13做次方运算结果为302875106592253然后再取最后三位数,但int的取值范围为-2147483648~2147483647并不能完...原创 2018-07-14 11:24:08 · 446 阅读 · 0 评论 -
算法_数学问题_Question1_计算个人所得税(java实现)
这篇文章讲述的是算法初级部分的算法数学问题计算个人所得税问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述编写一个程序计算个人所得税,要求输入金额后能够输出应缴的个人所得税,个人所得税计算办法如下: 起征点为1500 不超过1500元的部分,征收3% 超过1500~4500元的部分,征收...原创 2018-06-28 21:43:37 · 2663 阅读 · 0 评论 -
算法_趣味整数_Question3_自守数(java实现)
这篇文章讲述的是算法趣味整数部分的自守数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述自守数是指一个数的平方的尾数等于该数自身的自然数。例如:5^2=25 , 25^2=625 , 76^2==5776 , 9376^2=87909376 求出100000以内的自守数。算法分析关键问...原创 2018-07-08 22:59:13 · 827 阅读 · 0 评论 -
算法初级_Question5_兔子产子问题(java实现)
这篇文章讲述的是算法初级部分的兔子产子问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述有一对兔子,从出生后的第三个月起每个月都生一对兔子,小兔子出生的第三个月又生出一对兔子,以此类推,假设所有兔子都不死,问三个月内每个月有多少只兔子。算法分析 月数 小兔子 中兔子 ...原创 2018-06-26 13:00:31 · 1137 阅读 · 1 评论 -
算法初级_Question4_抓交通肇事犯(java实现)
这篇文章讲述的是算法初级部分的抓交通肇事犯问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述一辆卡车违反了交通规则,撞人后逃跑。现有三名目击证人,但他们都没有记住车牌号,只是记住了车号的一些特征:甲说,牌照的前两位数字是相同的,乙说,牌照的后两位数字相同,但与前两位不同,丙说,四位的车号刚好是一...原创 2018-06-26 12:51:05 · 1205 阅读 · 0 评论 -
算法初级_Question3_打鱼还是晒网(java实现)
这篇文章讲述的是算法初级部分的打鱼还是晒网问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。原创 2018-06-26 12:43:03 · 532 阅读 · 0 评论 -
算法初级_Question2_借书方案知多少(java实现)
这篇文章讲述的是算法初级部分的借书方案知多少问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述假设有5本书,要借给A,B,C三个人,若每人每次只能借一本,则可以有几种不同的借法?算法分析假设1-5的序号对应5本书,三层循环对应A,B,C所借走的书,A,B,C的取值范围都为1-5 若 ...原创 2018-06-26 12:08:38 · 395 阅读 · 0 评论 -
算法初级_Question1_百鸡百钱问题(java实现)
这篇文章讲述的是算法初级部分的百鸡百钱问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述百鸡百钱,假设一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用一百钱买一百只鸡,请问公鸡、母鸡、小鸡各多少只。算法分析假设公鸡cock只,母鸡hen只,则小鸡chicken只 可得出方程...原创 2018-06-26 11:51:24 · 700 阅读 · 0 评论 -
算法_数学问题_Question4_三色球(java实现)
这篇文章讲述的是算法初级部分的三色球问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述一个口袋放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现从中任意取8个,问一共有多少种可能的颜色搭配?算法分析这是一个穷举法的例子假设任取的8个球中红球个数为red个,白球个数white个,...原创 2018-06-30 23:58:24 · 1649 阅读 · 0 评论 -
算法_数学问题_Question3_分糖果(java实现)
这篇文章讲述的是算法初级部分的分糖果问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述10个孩子围成一圈分糖果,老师分给第1个小孩10块,第2个小孩2块,第3个小孩8块,第4个小孩22块,第5个小孩16块,第6个小孩4块,第7个小孩10块,第8个小孩6块,第9个小孩14块,第10个小孩20块。然...原创 2018-06-30 23:35:48 · 1137 阅读 · 0 评论 -
算法_数学问题_Question2_存款问题(java实现)
这篇文章讲述的是算法初级部分的算法数学问题_Question2存款问题问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述假设银行存取存款不同期限的月利息为: 0.63% 期限为1年 0.66% 期限为2年 0.69% 期限为3年 0.75% 期限为5年 0.84% ...原创 2018-06-29 23:57:31 · 668 阅读 · 0 评论 -
算法初级_Question6_牛顿迭代法求方程根(java实现)
这篇文章讲述的是算法初级部分的牛顿迭代法求方程根问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述编写用牛顿迭代法求方程的根。方程ax³+bx³+cx+d=0,系数a,b,c,d由主函数输出。求x在1附近的一个实根,由主函数输出。 牛顿的迭代法公式是:x = x0-f(x0)/f’(x0)...原创 2018-06-26 13:11:19 · 2581 阅读 · 0 评论 -
算法初级_Question7_最佳存款方案(java实现)
这篇文章讲述的是算法初级部分的最佳存款方案问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述假设银行一年整存零取的月息为0.63%,现在某人手里有一笔钱,打算在今后的5年中每年年底取出1000元,到第五年正好取完,问他存钱时存入了多少钱。算法分析已知第五年正好取完,那么,立即推: (1...原创 2018-06-26 13:19:01 · 792 阅读 · 1 评论 -
算法_趣味整数_Question2_亲密数(java实现)
这篇文章讲述的是算法趣味整数部分的亲密数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。算法分析这题可以使用两层循环分别来...原创 2018-07-08 21:11:38 · 551 阅读 · 0 评论 -
算法_趣味整数_Question1_完数(java实现)
这篇文章讲述的是算法趣味整数部分的完数问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述求某个范围内完数的个数。如果一个数等于它的因子之和,则称该数为完数(或完全数),例如,6的因子为1,2,3,而6=1+2+3,因此6是完数。算法分析所谓因子,如a为N的因子,那么满足条件N%a==0称...原创 2018-07-08 20:45:20 · 240 阅读 · 0 评论 -
算法_数学问题_Question5_出售金鱼(java实现)
这篇文章讲述的是算法初级部分的出售金鱼问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述小明将样的金鱼分5次出售:第1次卖出全部的一半加1/2条;第二次卖出余下的三分之一加1/3条;第三次卖出余下的四分之一加1/4条;第四次卖出余下的五分之一加1/5条;最后卖出余下的11条。试编程求出原来鱼缸里...原创 2018-07-01 22:40:39 · 2008 阅读 · 0 评论 -
算法_数学问题_Question11_换分币(java实现)
这篇文章讲述的是算法初级部分的换分币问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述将5元的人民币换成1元、5角、和1角的硬币,共多少种不同的兑换方法。算法分析假设可以兑换1元硬币oneYuan个,5角硬币fiveJiao个,1角硬币oneJiao个 则满足以下条件: oneYua...原创 2018-07-08 01:30:46 · 633 阅读 · 0 评论 -
算法初级_Question10_整数进制转换问题(java实现,栈和递归实现)
这篇文章讲述的是算法初级部分的整数进制转换问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述给定一个M进制的数x,实现对x向任意进制的数的转换。算法分析进制转换的基本思想是对进制M取余,再逆向输出余数,过程如下例:将10进制的8转换成2进制 第一步: 8%2 = 0 , 8/2...原创 2018-06-27 00:27:00 · 226 阅读 · 0 评论 -
链栈的java实现
这篇文章讲述的是链栈的java实现,如有错误或者不当之处,还望各位大神批评指正。栈的特点栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相...原创 2018-06-26 13:48:08 · 2618 阅读 · 0 评论 -
算法初级_Question9_折半查找(java实现)
这篇文章讲述的是算法初级部分的折半查找问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述N个有序序列已放在一个一维数组中,利用二分查找法查找整数m在数组中的位置,若找到,返回其下标,若找不到,则输出”没有找到!”算法分析折半查找采用的是分而治之的思想,是对一组有序数组进行排序的经典算法,...原创 2018-06-26 13:36:15 · 676 阅读 · 0 评论 -
算法初级_Question8_冒泡排序(java实现)
这篇文章讲述的是算法初级部分的冒泡排序问题的java实现,参考的书籍为清华大学出版社出版,贾蓓等编著的《c语言趣味编程1000例》,如有错误或者不当之处,还望各位大神批评指正。问题描述对N个整数进行升序排列算法分析冒泡排序是经典的一个问题,过程如下:假设对四个整数进行冒泡排序5,2,6,1 下面对第一趟排序进行详细分析: 2与5比较,2<5,不交换 5与6比较,5&...原创 2018-06-26 13:27:02 · 192 阅读 · 0 评论 -
递推与递归
概念递归:从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件,即顺推法的逆过程,称为递归。递推:递推算法是一种用若干步可重复运算来描述复杂问题的方法。递推是序列计算中的一种常用算法。通常是通过计算机前面的一些项来得出序列中的指定象的值。递归与递推区别:相对于递归算法,递推算法免除了数据进出栈的过程,也就是说,不需要函数不断的向边界值靠拢,而直接从边界出发,直到求出函数值。...原创 2018-06-02 20:25:36 · 20563 阅读 · 3 评论