B2214shengmin @ 2022-06-26 21:59:58
#include<bits/stdc++.h>
using namespace std;
long long fbnqsl(int x){
if(x==1)return 1;
else if(x==2)return 2;
else return fbnqsl(x-1)+fbnqsl(x-2);
}
int main() {
int k;
cin>>k;
cout<<fbnqsl(k);
return 0;
}
by B2214shengmin @ 2022-06-26 22:06:08
@rzh123 ```
using namespace std;
int int1[1010],int2[1010],c[1010];
char str1[1010],str2[1010];
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 b[]){
init(a,int1);
init(b,int2);
memset(c,0,sizeof(c));
int i,l=max(strlen(a),strlen(b));
for(i=0;i<l;i++){
c[i]=int1[i]+int2[i]+c[i];
if(c[i]>9){
c[i]-=10;
c[i+1]++;
}
}
if(c[i]>0){
for(int j=l;j>=0;j--){
cout<<c[j];
}
}else{
for(int j=l-1;j>=0;j--){
cout<<c[j];
}
}
}
int main() {
while(scanf("%s%s",str1,str2)==2){
memset(int1,0,sizeof(int2));
memset(int2,0,sizeof(int1));
sum_hp(str1,str2);
cout<<endl;
}
return 0;
}
by B2214shengmin @ 2022-06-26 22:08:18
@rzh123 上面哪个是https://www.luogu.com.cn/problem/P1601 的程序
by _Ad_Astra_ @ 2022-06-26 22:43:22
@B2214shengmin 望丰展使Md、TeX(你谷更新了)
by ssytxy2024 @ 2022-06-26 22:53:37
@B2214shengmin 意思是你要先学高精度加法
by B2214shengmin @ 2022-06-26 22:59:50
@qlzx74lyc41 e.....我学过了[尴尬]
by B2214shengmin @ 2022-06-28 21:58:58
@rzh123 为什么用高精计算不会输出?
#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;
}