链接:https://www.nowcoder.com/acm/contest/181/A
来源:牛客网

题目描述

设f[i]表示斐波那契数论的第i项
f[1]=1,f[2] =1,f[i] = f[i - 1] + f[i - 2]
给定一个n

 

输入描述:

一个整数n

输出描述:

一个整数,表示答案

示例1

输入

复制

4

输出

复制

1

备注:

对于的数据,
对于的数据,
对于的数据,
对于的数据,

解题思路:

n=10^{1000000},100万位的数,根本无法用long long 计算,如果把斐波那契数列都计算出来也肯定会超时

所以,常规的思路肯定不对。

可以先举几个例子试一下,就可以发现规律:n为偶数时结果为1,奇数时结果为-1。

n不可以用long long,可以用数组或者string存,判断末尾是否是偶数即可。

注意:string不可以用scanf(“%s”,s)

ac代码:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    string s;
    cin>>s;
    int len=s.length();
    int ans=s[len-1]-'0';
    if(ans%2==0) puts("1");
    else puts("-1");
    return 0;
}