zoukankan      html  css  js  c++  java
  • P2626 斐波那契数列(升级版)

    题目背景

    大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数)。

    题目描述

    请你求出第n个斐波那契数列的数mod(或%)2^31之后的值。并把它分解质因数。

    输入输出格式

    输入格式:

    n

    输出格式:

    把第n个斐波那契数列的数分解质因数。

    输入输出样例

    输入样例#1:
    5
    输出样例#1:
    5=5
    输入样例#2:
    6
    输出样例#2:
    8=2*2*2

    说明

    n<=48

    代码不在这QAQ

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #define mod 2147483648
    using namespace std;
    int n;
    int main()
    {
        cin>>n;
        double x=sqrt(5.0);
        long long int ans;
        ans=(1.0/x)*(pow((1+x)/2.0,n)-pow((1-x)/2.0,n));
        ans%=mod;
        cout<<ans<<"=";
        long long int i=2;
        while(ans!=1)
        {
            while(ans%i==0)
            {
                if(ans/i!=1)
                {
                    ans/=i;
                    cout<<i<<"*";
                }
                else{
                    ans/=i;
                    cout<<i;
                    return 0;
                }
            }
            if(ans%i!=0) i++;
        }
        return 0;
    }
  • 相关阅读:
    Python获取Linux的家目录
    Python 批量安装包、查看当前程序依赖的包
    获取linux目录下最新的文件
    Linux破解navicat
    Linux添加PATH
    Linux下文件分析 | 命令行
    ROP | 蒸米 -x86
    Jarvis OJ | guess
    杂项入门
    Whale ctf | misc
  • 原文地址:https://www.cnblogs.com/chen74123/p/6680838.html
Copyright © 2011-2022 走看看