n=((n+1)+1)*2,为啥不能用 n+1=n*0.5-1即n=(n-1)*0.5-1

来源:5-8 递归函数(二)

螟蛉

2015-08-02 09:57

同标题

为何不能用n=(n-1)*0.5-1

写回答 关注

3回答

  • 小木头V
    2015-08-02 10:43:49
    已采纳

    ---------------

    ①-----n=((n+1)+1)*2

    输入n=2

    运行过程 :

    ((2+1)+1)*2=8

    将8重新赋值给n

    ②---------------

    -----n+1=n*0.5-1

    这个是一元一次方程,在计算机中不能用

    ③---------------

    -----n=(n-1)*0.5-1

    输入n=2

    运行过程:

    (2-1)*0.5-1=-0.5

    将0.5重新赋值给n

    ----------------------------------------

    综上可知,你犯的错误是:

    将编程语言里面的“=”和数学中的“=”的含义没有搞明白

    对于n=((n+1)+1)*2这个式子

    -----

    在编程语言中,“=”前的n和"="后的n是不一样的,因为"="是赋值的意思,你可以从①或③里面看到

    -----

    但是在数学里面,“=”前的n和"="后的n是一样的,因为"="是"="两边式子相等的意思。

    ----------------------------------------

    解释完毕,谢谢。



    螟蛉

    请问下,为什么会从第9天开始输出

    2015-08-02 10:59:51

    共 2 条回复 >

  • 可怕的单身狗
    2016-01-28 14:12:00

    第10天,return 1了,但是没有printf而已。

  • 可怕的单身狗
    2016-01-28 14:10:59

    十分感谢也是同样想知道为什么不可以(n-1)/2-1

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926206 学习 · 20797 问题

查看课程

相似问题