已知某数列的前二项为2和3,其后各项根据当前最后二项的乘积按以下规则生成:
○1.若乘积为一位数,则该乘积为数列的后继项;
○2.若乘积为二位数,则该乘积的十位数和个位数数字依次作为数列的两个后继项。
本程序在输入数列项数N值以及前两项2和3以后,输出该数列的前N项以及前N项的和。
例如:输入 N=10
输出 2,3,6,1,8,8,6,4,2,4
SUM(10)=44
测试:如果初始的数列前两项值为:3和8,那么数列的前20项分别是什么?其对应的和是多少?
要求:
1. 写一个函数,计算对应的结果!
2. 输入参数是数列的前两项与数列的总项数,可设为a,b,N。本题中a = 3,b =8,N = 20。
3. 输出结果是数列的前20项,以及这前20项的和!
#代码如下#
progression2<-function(a,b,n)
{ x<-array(,n)
x[1]<-a;x[2]<-b
for (cur in 3:n)
{
if(a*b<10)
{
x[cur]=a*b
a<-x[cur]
progression2(a,b,n)
}
else
{
x[cur]=a*b%/%10
x[cur+1]=a*b%%10
a<-x[cur]
b<-x[cur+1]
progression2(a,b,n)
}
return(x)
}
}
progression2(3,8,20)
#请问各位大佬,哪里出错了呀,咋改呢?#