B2214shengmin @ 2022-06-28 22:03:19
#include<bits/stdc++.h>
using namespace std;
int int1[1010],c[1010],len_;
char str1[1010];
/*int fbnqsl(int x){
if(x==1)return 1;
else if(x==2)return 2;
else return fbnqsl(x-1)+fbnqsl(x-2);
}*/
void init(char a[],int *b){
int l=strlen(a);
for(int i=0;i<l;i++){
b[i]=a[l-i-1]-'0';
}
}
void sum_hp(char a[],char k){//a+b 顺加输出
init(a,int1);//把a字符串传入init,转化成int1数组
memset(c,0,sizeof(c));//c数组清零
int i,l=strlen(a);//l为a字符串的长度
for(i=0;i<l;i++){//a+k
c[i]+=int1[i]+k;
if(c[i]>9){//判断是否要进位
c[i]-=10;//把个位留下来
c[i+1]++;//进位
}
}
if(c[i]>0){
len_=l;
}else{//从l-1位输出
len_=l-1;
}
}
int main() {
int q=3;
cin>>str1;
memset(int1,0,sizeof(int1));
if(str1=="1"){
cout<<1;
return 0;
}else if(str1=="2"){
cout<<2;
return 0;
}
for(int i=3;i<=q;i++){
sum_hp(str1,q);
q++;
//cout<<endl;
}
for(int i=len_;i>=0;i++)cout<<c[i];
return 0;
}
by ICE_Dice1024 @ 2022-06-28 22:20:24
你设置的
第
by ICE_Dice1024 @ 2022-06-28 22:25:23
你的代码太复杂了,需整理一下