uva 1646(斐波那契)
生活随笔
收集整理的這篇文章主要介紹了
uva 1646(斐波那契)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫出前幾個樣例,發現是斐波那契數列,這里要用高精度大數寫
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; int f[10100][2500]; void init() {memset(f,0,sizeof(f));f[3][1]=4; f[3][0]=1;//數字長度為1f[4][1]=7; f[4][0]=1;for(int i=5;i<=10000;i++){int mmp=0;for(int j=1;j<=f[i-1][0];j++){f[i][j]=f[i-1][j]+f[i-2][j]+mmp;//加上上一位的進位mmp=f[i][j]/10;f[i][j]%=10;}f[i][0]=f[i-1][0];if(mmp){f[i][0]++;//進位最大為1f[i][f[i-1][0]+1]++;//數字長度增加 }} } int n; int main() {init();while(~scanf("%d",&n)){for(int i=f[n][0];i>=1;i--)printf("%d",f[n][i]);printf("\n");}return 0; } import java.math.BigInteger; import java.util.Scanner; public class Main {public static BigInteger []a=new BigInteger[10000+100];public static void init(){a[3]=BigInteger.valueOf(4);a[4]=BigInteger.valueOf(7);for(int i=5;i<=10000;i++)a[i]=a[i-1].add(a[i-2]);}public static void main(String[] args){init();Scanner sc=new Scanner(System.in);while(sc.hasNextInt()){int n=sc.nextInt();System.out.println(a[n]);}} }?
轉載于:https://www.cnblogs.com/Wangwanxiang/p/8436766.html
總結
以上是生活随笔為你收集整理的uva 1646(斐波那契)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国投新股研究所 IPO 报告 :医脉通
- 下一篇: 全国第四轮计算机学科评估排名,最权威的专