题目在问题补充说明里,(因为字数太多!)定义一种对正整数n的"F"运算:1,当n为奇数时,结果为3n+5.2,当n为偶数时,结果为n除以2的k次方(其中k为使其为奇数的正整数),并且运算重复进行.例如,当n=26,则求取n=449时,第449次"F"运算的结果是多少?
问题描述:
题目在问题补充说明里,(因为字数太多!)
定义一种对正整数n的"F"运算:1,当n为奇数时,结果为3n+5.2,当n为偶数时,结果为n除以2的k次方(其中k为使其为奇数的正整数),并且运算重复进行.例如,当n=26,则求取n=449时,第449次"F"运算的结果是多少?
答
答案8
用VB编程算的
Private Sub Command1_Click()
Dim a%, n%, k%, b%,i%
a = InputBox("a")
n = InputBox("n")
For i = 1 To n
If a Mod 2 0 Then
a = 3 * a + 5
Else: For k = 1 To Sqr(a)
b = a / (2 ^ k)
If b Mod 2 0 Then
a = b: Exit For
End If
Next k
End If
Next i
Print a
End Sub
答
26→13→44→11→38→19→62→31→98→49→152→19→62→31→98→49→152→19……
可以看出从第5次F运算开始,就19→62→31→98→49→152→19循环,得出算式:
(449-5)÷5=444÷5=88……4,所以相当于循环链中第4次F运算的结果,即49.
楼主,题目是这样的吗?:当n=26,第449次“F”运算的结果是多少?是没有n=449的,这个题目在练习册上看到过.