y <-function(x){
y <- 2*x*x-3*x+2
return(y)
}
a <- function(x){
a <- c(y(x):(y(x)+2*x-2))
return(a)
}
b <- function(x){
b = sum(a(x))
return(b)
}
f <- function(x){
sum(sapply(seq(x),b))
}
今天看微博,说的是一个上世纪三十年代就发现的数字现象,有这样的序列,第一行有一个数字,第二行有2个数字,以此类推,每行的数字都是在之前的数字基础上加1,如下例
1,
2,3
4,5,6
7,8,9,10,
11,12,13,14,15,
把偶数行删除,剩下的重新组成一个序列
1,
4,5,6,
11,12,13,14,15,
则前两行的数据之和等于2的四次方,前三行的数据之和是3的四次方,前n行的数据之和是n的四次方。
最上面的代码就是我想的如何计算前n行数据之和的函数。
代码设计的整体思路是,先确定某一行的第一个数字是什么,既函数 y,然后确定这行的数字分别是什么 ,函数a 是做这个的,生成一个向量,然后函数b 计算这行的数字之和 ,函数f 计算前n 行之和,这样就可以验证前n 行之和是否等于n的四次方了。
网友评论