回 帖 发 新 帖 刷新版面

主题:求助:关于插数的问题

写出两个1,然后在它们中间插入2,成121;下一步是在上面数中每两个相邻的和数为3的数之间插入3,成为13231;再下一步又在上面数中任意两个相邻的和数为4的数中插入4,成为1432341;由键盘输入N,求出用上面方式构造出来的序列,其最后插入的数是N。
假设N不超过10,输入N,输出每一次插入时的运算结果。

 如 输入 4
则输出   121
         13231
         1432341

回复列表 (共6个回复)

沙发

13231,插数后难道不是143525341?

板凳

因为插入的是4,所以是在相邻的两数的和为4之间插入4,而不是5

3 楼

奥,原来不是经过n次插值,而是插值到n。

4 楼

今天晚了,我明天作你的两个题目来看看

5 楼

Do
n = Val(InputBox(""))
Loop Until n > 1 And n < 10
s$ = "11"
For i = 2 To n
    For j = Len(s$) - 1 To 1 Step -1
    If Val(Mid(s$, j, 1)) + Val(Mid(s$, j + 1, 1)) = i Then
        s$ = Left(s$, j) & Trim(Str(i)) & Right(s$, Len(s$) - j)
    End If
Next j, i
Print s$

请楼主自己修改诸如str等函数,我用的是vb不好意思了。
但算法是没有问题的了。

6 楼

老大,谢了,我试试,有问题还要请教哦![em11]

我来回复

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