回 帖 发 新 帖 刷新版面

主题:[讨论]公式"1,2,1,2,3,1,2,3,4..."求n项

公式"1,2,1,2,3,1,2,3,4..."求n项 
怎么做呢?

回复列表 (共4个回复)

沙发

很简单!
分析:
12 123 1234 12345……}把这些数分段
1段有2个数
2段有3个数……
假设n在第i段上
那么i之前的段有(首项(也就是2)+末项(也就是i))*(项数(也就是i-1))/2<n
简化之后变成i*i+i<n*2+首项(也就是2)
将<右边的数字开平方后依次试,只要满足条件就行(从大往小)
确定i的值以后,(i*i+i-首项(也就是2))/2
再用n-结果得出n项
程序:
CLS
INPUT N
FOR I = INT(SQR(N*2-2)) TO 1 STEP -1
 IF I*I+I < N * 2 + 2 THEN A=(I*I+I-2)/2:EXIT FOR
NEXT I
PRINT N-A
END

板凳

就一个input,一个print
不用for

3 楼

[quote]很简单!
分析:
12 123 1234 12345……}把这些数分段
1段有2个数
2段有3个数……
假设n在第i段上
那么i之前的段有(首项(也就是2)+末项(也就是i))*(项数(也就是i-1))/2<n
简化之后变成i*i+i<n*2+首项(也就是2)
将<右边的数字开平方后依次试,只要满足条件就行(从大往小)
确定i的值以后,(i*i+i-首项(也就是2))/2
再用n-结果得出n项
程序:
CLS
INPUT N
FOR I = INT(SQR(N*2-2)) TO 1 STEP -1
 IF I*I+I < N * 2 + 2 THEN A=(I*I+I-2)/2:EXIT FOR
NEXT I
PRINT N-A
END

[/quote]
你咋这么麻烦?

4 楼

我们老师都可以

我来回复

您尚未登录,请登录后再回复。点此登录或注册