牛客小白月赛13 A题

简介: 牛客小白月赛13 A题
来源:牛客网
这是一道签到题,主要考验比赛时的手速。
接下来是一段很简单的代码,或许你提交它就可以AC。
#include<bits/stdc++.h>
using namespace std;
int main() {
    long long n;
    scanf("%lld",&n);
    long long f1=1,f2=1,f3;
    for(int i=3;i<=n;i++) {
        f3=f1+f2;
        f1=f2;
        f2=f3;
    }
    printf("%lld\n",f3*f3-f1*f1-f1*f3);
    return 0;
}
显然复制代码并不能AC,实际上要求的是f^2n−fn−1fn+1
其中 fn 是斐波那契数列的第n项
单观察或推导可以得出结论:∀n≥3, 若为奇数则为-1,否则就为1。
#include<bits/stdc++.h>
using namespace std;
int main() {
    long long n;
    cin >>n;
    if (n == 1 || n == 2) {
        cout << "-1" << endl;
        return 0;
    }
    if (n%2==1) {
        cout << "1" << endl;
    } else {
        cout <<"-1"<<endl;
    }
    return 0;
}
相关文章
|
4月前
|
存储 安全 Java
synchronized 原理
`synchronized` 是 Java 中实现线程同步的关键字,通过对象头中的 Monitor 和锁机制确保同一时间只有一个线程执行同步代码。其底层依赖 Mark Word 和 Monitor 控制锁状态,支持偏向锁、轻量级锁和重量级锁的升级过程,以优化性能。同步方法和同步块在实现方式上有所不同,前者通过 `ACC_SYNCHRONIZED` 标志隐式加锁,后者通过 `monitorenter` 和 `monitorexit` 指令显式控制。此外,`synchronized` 还保证内存可见性和 Happens-Before 关系,使共享变量在多线程间正确同步。
497 0
|
8月前
|
Java
课时4:JDK简介
课时4:JDK简介。主讲人李兴华,内容分为两部分:1. JDK的具体内容;2. JDK的下载。JDK(Java开发工具包)是Java开发的核心工具,提供编译和解释功能,必须通过官方网站下载并配置。目前主要版本为JDK 10,历史版本包括JDK 1.0、JDK 1.2、JDK 1.5、JDK 1.8等。JDK下载页面提供多平台支持,需先接受协议再选择适合的操作系统版本进行下载。安装完成后即可搭建Java开发环境。
235 0
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
296 1
|
Kubernetes Cloud Native API
什么是云原生?
聊聊什么是云原生
什么是云原生?
|
供应链 监控 调度
ERP系统中的销售订单处理与交付跟踪解析
【7月更文挑战第25天】 ERP系统中的销售订单处理与交付跟踪解析
995 0
ERP系统中的销售订单处理与交付跟踪解析
|
Ubuntu Shell Linux
|
设计模式 存储 API
游戏服务器架构:网络服务器端程序线程划分
游戏服务器架构:网络服务器端程序线程划分
|
JavaScript 前端开发 API
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
787 0
|
消息中间件 人工智能 安全
一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,堪称辅助神器!
一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,堪称辅助神器!