继续Perl学习 递归

有一段时间学习PYTHON,很伤心啊,版本太新,好多东西用起来不方便。

还是继续用我的小***perl吧,我相信perl会解决掉我遇到的大部分问题!

一、统计随机数出现频次

--源代码

--- 结果显示

二、递归应用,阶乘算法

--代码

-- 结果

时间: 2024-10-11 08:00:40

继续Perl学习 递归的相关文章

学习递归时,影响到的一个算法问题

当年学习递归,有一个例子是 1,1,2,3,5,8,13......这样求第N个数的值. 当时还颇为认同其递归的巧妙. 后来去携程面试,还被问到,心里暗爽,这不是送分吗.俩分钟再小黑板上写出了递归的实现,被瑞亮总给分析了说是个O(n*n).还觉奇怪,为啥点了下这个 今天温习算法时,看到关于深度搜索和宽度搜索时,想到这个题目,重新思考了下.顿时觉得当时面试时,瑞亮总当时给留了面子. 下边是今天想到的O(N)的实现方法. int n =7; ArrayList<Integer> list = ne

由易到难学习递归的精华

下面是收集的一些递归实现的小算法,勤加练习,相信每一个人都能对简单的递归驾驭自如! 从1加到n的一种递归的简洁写法 int AddFrom1ToN_Recursive(int n) { return n<=0 ? 0 : n+AddFrom1ToN_Recursive(n-1); } 求2进制,8进制,16进制的递归写法,原理相同! void go2(int nNum) { if (nNum == 0) return; else { go2(nNum / 2); printf("%d&qu

Perl学习笔记(一)--简介

1. 查看当前所用Perl版本号 ? 1 perl –v 2.  一个简单的Perl程序 ? 1 2 3 print "hello world"; #这是注释 执行它: ? 1 Perl helloWorld.txt 文件名后缀可以是pl可以是txt 3. 一个稍微复杂点的Perl程序 ? 1 2 3 4 5 6 @line = `perldoc -u -f atan2`; //运行一个外部命令,通过反引号来调用,将输出结果一行行依次存储在@line这个数组变量中 foreach(@l

perl学习笔记--搭建开发环境

windows下perl开发环境搭建 perl下载地址:http://www.activestate.com/developer-tools 各个插件的安装方法:(通过代理上网的方法) 方法一:padwalker的安装步骤 1. padwalker下载地址: http://www.bribes.org/perl/ppm/ 2. 解压下载的文件 4. 拷贝 blib/lib/PadWalker.pm 到 Perl/lib(你的安装路径)5. 拷贝 blib/arch/auto/PadWalker

PERL学习笔记---正则表达式的应用

使用m//匹配 //这是m//(模式匹配)的一种简写.同qw//操作一样,可以使用任何成对的分隔符.因此,可以使用m(fred), m<fred>, m{fred}, m[fred],或者m,fred,, m!fred!, m^fred^,其它非成对的分隔符也可以 不区分大小写:/i if(/yes/i) {#大小写无关 print “In that case, I recommend that you go bowling.\n”;} 匹配任何字符:/s 默认情况下,点(.)不匹配换行符,这

Perl 学习笔记-高级控制结构

1.unless控制结构 类似于独立的else语句; 要么条件为真, 要么执行语句块内的代码;  unless(<condition>){code...;} 等价于  if(<condition>){}else{code...;}  也就是当条件为假是执行. unless (0) { print "Hello"; #Hello } 2. until控制结构 until就是改装过的while, 区别在于它在条件为假是执行代码块. $i = 2;$j = 10; u

perl学习之:use and require

本文和大家重点学习一下Perl use和require用法对比,这两个函数都是一个意思,加载和引用Perl的模块,或者是子程序,区别在于Perl use是在当前默认的里面去寻找,一旦模块不在指定的区域内的化,用Perl use是不可以引入的. Perl use和require用法对比 对比(一)说明: 这两个函数都是一个意思,加载和引用Perl的模块,或者是子程序, 区别在于Perl use是在当前默认的里面去寻找,一旦模块不在指定的区域内的化,用Perl use是不可以引入的 第一.Perl

Perl 学习笔记-子程序

1.定义子程序 使用sub关键字定义 ;   子程序名和标识符同要求, 但是有的特殊的可以用 &符号;  子程序是全局的, 不需要再使用前声明;  重名函数后者覆盖前者. sub roger{ $n += 1; #全局变量$n print "Hello , sailor number $n!\n"; } &roger # 前面加&来调用, 不过没加好像也能调用. 返回值: 在子程序执行过程中会不断运算, 而最后一次运算的结果(不管是什么)都会被当成子程序的返回值

Perl 学习笔记-标量数据

最近学习Perl, 准备看一遍入门指南,关键的东西还是记录下来,以便以后复习和查看参考. 笔记来自<<Perl语言入门第5版>> 1. 在Perl内部,不区分整数值和浮点数值,所有数字的内部格式都相同,采用"双精度浮点数"运算,自动转换.范围值(1e-100到 1e100) 2. 可以在一个很大的数中间插入下划线,便于阅读: 61_298_040_283_768,在取模运算时,如果其中一边或两边都是负数,则不同的Perl版本可能会有不同结果.不能计算负数的负数次方,因为会得到复数,