Scala学习笔记

递归函数:自己调用自己的函数就是递归函数,可能会导致死循环,需明确写出函数的返回值

代码结构:

      ① 基本情况,可直接求解

      ② 递归情况,大事化小,自己调用自己

有默认值的函数:

变参

   1.创建不带()的方法:def  方法名 : [ 返回值类型 ] = { }

   2.创建接受变参的方法:参数类型 * 

   3.变参传值:①参数类型对应值。 eg:b("Java","Scala")

                        ②_*       eg:b(List_*)

链式风格

特点:可读性较好,整体风格简洁

语法为 this.type 和 this

小习一下

   1.计算累加

     定义一个函数求1-n的和;

     基本情况:f(1)=1

     递归情况:f(n)=n+f(n-1)

   2.计算整数的阶乘问题

     计算一个整数的阶乘是一个经典的递归问题。假设我们要计算n的阶乘,记作n!=1*2*3*4*...*n,其定义为:

基本情况:0!=1

递归情况:n! = n*(n-1)!

   3.斐波那契数列

     定义:基本情况:f(0) = 1,f(1) = 1

                递归情况:f(n) = f(n-1)+f(n-2)(当n>=2)。求它的第n项。

   4.打印数字的各个位数

     基本情况:f(n)=输出个位,n<9

     递归情况:f(n) = f(n/10)+输出个位(当n>=10)

   5.极简汉诺塔

     f(n,A,B,C):把n个盘子从A移到C,借用B过渡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值