题目很简单,简单的大数相加,分为4个段计算即可得到答案,代码如下图。主要是未考虑当每一段第一个数字为0的时候,浪费了较多时间。
#include<stdio.h>
int main(){
int med=100000000;
int i1=1;
int i2=0;
int i3=0;
int i4=0;
int j1=1;
int j2=0;
int j3=0;
int j4=0;
int k1=1;
int k2=0;
int k3=0;
int k4=0;
int result1=0;
int result2=0;
int result3=0;
int result4=0;
int num=2;
while(num<=99){
result1=i1+j1+k1;
result2=i2+j2+k2+result1/med;
result3=i3+j3+k3+result2/med;
result4=i4+j4+k4+result3/med;
result1=result1%med;
result2=result2%med;
result3=result3%med;
i1=j1;
i2=j2;
i3=j3;
i4=j4;
j1=k1;
j2=k2;
j3=k3;
j4=k4;
k1=result1;
k2=result2;
k3=result3;
k4=result4;
num++;
printf("%d:%08d%08d%08d%08d\n",num,result4,result3,result2,result1);
}
}