zoukankan      html  css  js  c++  java
  • 1、1、2、3、5、8、13、21、34...... 求第X位数是多少,2种实现方式

    经典的面试题,之前面试时写的不够好,回来后重新想了下,以下是2实现方式:

    方法一:【递归调用】

    public int FooNum(int i)

            {

                if (i < 0) return 0;

                else if (i > 0 && i <= 2) return 1;

                else return FooNum(i - 1) + FooNum(i - 2);

            }

    方法二:【for循环】

    public int AddNum(int x)

            {

                int f1 = 1;

                int f2 = 1;

                int f3 = 0;

                for (int j = 0; j < x; j++)

                {

                    if (j > 1)

                    {

                        f3 = f2 + f1;

                        f1 = f2;

                        f2 = f3;

                    }

                    else

                    {

                        f3 = 1;

                    }

                }

                return f3;

            }

    调用(假设求第30位):

    public void button1_Click(object sender, EventArgs e)

            {

                 int N1= FooNum(30);

                int N2 = AddNum(30);

                MessageBox.Show(N1.ToString() +"---"+ N2.ToString());

    结果:832040---832040 

  • 相关阅读:
    bootstrap 超大屏幕(Jumbotron)
    Bootstrap历练实例:激活导航状态
    Bootstrap 徽章(Badges)
    Bootstrap历练实例:标签修饰
    Bootstrap 标签
    bootstrap 翻页的状态
    [uiautomator篇][10] uiautomator进阶
    [adb 学习篇] adb pull
    安装adb工包
    [python IO学习篇] 补充中文编码
  • 原文地址:https://www.cnblogs.com/colder/p/2482444.html
Copyright © 2011-2022 走看看