Chinaunix首页 | 论坛 | 博客
  • 博客访问: 643708
  • 博文数量: 233
  • 博客积分: 2221
  • 博客等级: 大尉
  • 技术积分: 3184
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-16 14:01
个人简介

瓜瓜派的瓜瓜

文章分类

全部博文(233)

文章存档

2013年(28)

2012年(197)

2011年(8)

分类: Java

2013-02-05 19:57:06

今天继续控制结构与函数部分的练习,最后一题了,进度有点儿慢哦。

[题目] 编写函数计算xn,其中n是整数,使用如下递归定义:
  • xn = y2,如果n是正偶数的话,这里的y = xn/2
  • x = x.xn-1,如果n是正奇数的话;
  • x0 = 1
  • xn = 1/x-n,如果n是负数的话。

不得使用return语句。

Ans:
scala> def x_n(x : Double, n : Int: Double = {
    |     if (n > 0 && n%2 == 0x_n(x, n/2* x_n(x, n/2)
    |     else if (n > 0 && n%2 == 1x * x_n(x, n - 1)
    |     else if (n == 01
    |     else 1 / x_n(x, -n)
    | }
x_n: (x: Double, n: Int)Double

scala> x_n(2, -2)
res31: Double = 0.25

scala> x_n(2, -81)
res32: Double = 4.1359030627651384E-25

scala> x_n(2, 113)
res33: Double = 1.0384593717069655E34

scala> x_n(2, 16)
res34: Double = 65536.0

scala> x_n(2, 0)
res35: Double = 1.0

scala> x_n(2, 10)
res36: Double = 1024.0

scala> x_n(2, 9)
res37: Double = 512.0

scala> x_n(2, 18)
res38: Double = 262144.0

scala> x_n(2, 8)
res39: Double = 256.0


阅读(2204) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~