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

    题目背景

    大家都知道,斐波那契数列是满足如下性质的一个数列: • 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

    思路:斐波那契数+分解质因数

    代码实现:

     1 #include<cstdio>
     2 #define LL long long
     3 const LL mod=2147483648ll;
     4 LL n,a,ans;
     5 LL f[50]={1,1};
     6 int s[10000],ss;
     7 bool v[10000000],p;
     8 int main(){
     9     scanf("%d",&n);
    10     for(int i=2;i<n;i++) f[i]=(f[i-1]+f[i-2])%mod;
    11     ans=f[n-1];
    12     printf("%d=",ans);
    13     if(ans==1) putchar('1');
    14     for(LL i=2;i<=ans;i++)
    15     while(ans%i==0){
    16         if(p) putchar('*');
    17         else p=1;
    18         printf("%d",i);
    19         ans/=i;
    20     }
    21     putchar('
    ');
    22     return 0;
    23 }

    题目来源:洛谷

  • 相关阅读:
    二进制显示整数
    测试intel 8.0
    实用的免费网络空间
    tcp/ip入门(转)
    桶排序
    在talking bar的留言(够无聊)
    重装系统手记
    几个宏
    组合算法<转>
    记深圳慧通面试
  • 原文地址:https://www.cnblogs.com/J-william/p/6647288.html
Copyright © 2011-2022 走看看