?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))
}
今天看微博,說的是一個上世紀三十年代就發(fā)現(xiàn)的數(shù)字現(xiàn)象,有這樣的序列,第一行有一個數(shù)字,第二行有2個數(shù)字,以此類推,每行的數(shù)字都是在之前的數(shù)字基礎(chǔ)上加1,如下例
1,
2,3
4,5,6
7,8,9,10,
11,12,13,14,15,
把偶數(shù)行刪除,剩下的重新組成一個序列
1,
4,5,6,
11,12,13,14,15,
則前兩行的數(shù)據(jù)之和等于2的四次方,前三行的數(shù)據(jù)之和是3的四次方,前n行的數(shù)據(jù)之和是n的四次方。
最上面的代碼就是我想的如何計算前n行數(shù)據(jù)之和的函數(shù)。
代碼設(shè)計的整體思路是,先確定某一行的第一個數(shù)字是什么,既函數(shù) y,然后確定這行的數(shù)字分別是什么 ,函數(shù)a 是做這個的,生成一個向量,然后函數(shù)b 計算這行的數(shù)字之和 ,函數(shù)f 計算前n 行之和,這樣就可以驗證前n 行之和是否等于n的四次方了。