斐波那契数列二(马蹄集)

发布于:2022-11-06 ⋅ 阅读:(345) ⋅ 点赞:(0)

斐波那契数列二
难度:白银
时间限制:1秒
巴占用内存:64M
判断数字N(N<29)是否为斐波那契数列中出现的数,输出YES或者NO。
格式
输入格式:输入整型
输出格式:输出YES或者NO

//
// Created by abner on 2022/11/5.
//
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int f1=1,f2=1,fn=1;//迭代变量
    int N;
    cin>>N;
    for(int i=1;fn<=N;i++) {//迭代次数
        if (fn == N) {
            cout << "YES";
            return 0;
        }
        fn = f1 + f2;//迭代关系式
        f1 = f2;
        f2 = fn;//f1和f2迭代前进
    }
        cout<<"NO";
        return 0;
    }

如果只是语法,一个人,或者天赋极好(虽然我没见过),或者有其他语言的基础,是完全可以做到的。

但是,请永远记住,学习一门语言,不是为了考试,而是为了使用,而只要开始使用,就不再是语言本身的事了。

举个例子,如果你学习了c++基本语法之后,然后想要用它写一个windows桌面程序,你该怎么做?

即使你的程序只是一个最简单的计算器,没有数据库,没有io访问,你总的有一个窗口,有一些按钮吧。但是,要做到这一点并不简单!

最基本的,你要了解windows的消息机制,能够对事件进行响应,知道对应的api位于那些系统动态库…

如果你不想直接调用wibdows API,你还可以使用其他框架(例如MFC等),这又是另一个广大的世界了。

而api之下,框架之下,本质上是对操作系统,对架构和设计的认知,这些东西又会涉及更多的东西。

因此,所谓掌握一门语言,语法层面占比是非常少的,其他的都包含在这门语言巨大的生态之中!

更不用说,对一门语言,按我的经历,即使只在语法层面,要想正真掌握,也只有在反复的实践中才能实现。

就好像c/c++的指针,若非真正进行过开发,经历过相关的“爱恨情仇”,你就不会对它有刻骨的认识。



作者:沈世钧
链接:https://www.zhihu.com/question/423236529/answer/1503471605
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


网站公告

今日签到

点亮在社区的每一天
去签到