编程介的小学生 2019-12-21 11:47 采纳率: 0.4%
浏览 352

M斐波那契数列 求解

Problem Description
M斐波那契数列F[n]是一种整数数列,它的定义如下:

F[0] = a
F[1] = b
F[n] = F[n-1] * Fn-2

现在给出a, b, n,你能求出F[n]的值吗?

Input
输入包含多组测试数据;
每组数据占一行,包含3个整数a, b, n( 0 <= a, b, n <= 10^9 )

Output
对每组测试数据请输出一个整数F[n],由于F[n]可能很大,你只需输出F[n]对1000000007取模后的值即可,每组数据输出一行。

Sample Input
0 1 0
6 10 2

Sample Output
0
60

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-28 10:55
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    # 读入数据
    data <- readLines()
    
    for (i in 1:length(data)) {
      data[i] <- gsub(" ", "", data[i])
      data[[i]] <- strsplit(data[[i]], " ")[[1]]
    }
    
    # 解决问题
    for (i in 1:length(data)) {
      data[[i]] <- as.integer(strsplit(data[[i]], " ")[[1]])
      # a = data[[i]][1], b = data[[i]][2], n = data[[i]][3]
      # print(c(a, b, n))
      ans <- mod((b + a) * fib(n), 1000000007)
      print(ans)
    }
    
    fib <- function(n){
      if(n == 0 || n == 1) return(1);
      else return(fib(n - 1)*fib(n - 2));
    }
    
    评论

报告相同问题?