斐波那契坐不住了
  • 板块灌水区
  • 楼主phil071128
  • 当前回复26
  • 已保存回复26
  • 发布时间2020/8/22 09:04
  • 上次更新2023/11/6 19:41:59
查看原帖
斐波那契坐不住了
306734
phil071128楼主2020/8/22 09:04

从6开始就奇葩了

#include <bits/stdc++.h>
using namespace std;
string jia(string jia1,string jia2)
{
    string str;
    long long len1=jia1.length(),len2=jia2.length();
    //小的前面补0
    int n1[30000],n2[30000];
	
		if(len1<len2){
	        for(int i=1;i<=len2-len1;i++){
	        	jia1='0'+jia1;
	        	
			}
	    }
	    else{
	        for(int i=1;i<=len1-len2;i++){
	        	jia2='0'+jia2;
			}
	           
	    }		    
	    len1=jia1.length();
	    int last=0;
	    int temp;
	    //加法运算 
	    for(int i=len1-1;i>=0;i--) {
	        temp=(jia1[i]-'0')+(jia2[i]-'0')+last;
	        
	        last=temp/10;
	        temp%=10;
	        str+=char(temp+'0');
	    }
	    if(last!=0)  str+=char(last+'0');
	    return str;
		
		
}
int main(){
	int n;
	string s[5000];
	s[0]="0";
	s[1]="1";
	for(int i=2;i<=2000;i++){	
		s[i]=jia(s[i-2],s[i-1]);
	}
	while(cin>>n){
		cout<<s[n+1]<<endl;
	}
	return 0;
} 

输入:1~5全部正常,6是31,7就成了93了?????

2020/8/22 09:04
加载中...