#include <string>
#include <iostream>
using namespace std;
char num[4][100];
char s[100];
int main()
{
void swi();
void clear(char *s);
void add(char *s1, char *s2, char *s);
while(cin>>num[0]>>num[1]>>num[2]){
for(int i = 0; i < 97; i++){
add(num[0], num[1], s);
add(num[2], s, num[3]);
strcpy(num[0], num[1]);
strcpy(num[1], num[2]);
strcpy(num[2], num[3]);
}
cout << num[3] << endl;
clear(s);
clear(num[3]);
}
return 0;
}
void clear(char *s)
{
while(*s)
*s++ = '\0';
}
void add(char *s1, char *s2, char *s)
{
void swi(char *s);
int flag = 0;
int i = 0;
char *p1 = s1;
char *p2 = s2;
while(*p1 != '\0')
p1++;
while(*p2 != '\0')
p2++;
--p1,--p2;
while(p1 != s1-1 && p2 != s2-1){
s[i] = (flag + *p1-'0'+ *p2-'0')%10 +'0';
i++;
if(*p1-'0' + *p2-'0' +flag > 9)
flag = 1;
else
flag = 0;
p1--,p2--;
}
if(p1 == s1-1){
while(p2 != s2-1){
s[i] = (flag + *p2 -'0')%10 + '0';
i++;
if(*p2-- -'0' + flag > 9)
flag = 1;
else
flag = 0;
}
}
else
while(p1 != s1-1){
s[i] = (flag + *p1 -'0')%10 + '0';
i++;
if(flag + *p1-- -'0' > 9)
flag = 1;
else
flag = 0;
}
if(flag)
s[i] = '1';
s[++i] = '\0';
swi(s);
}
void swi(char *s)
{
int i ;
int j = strlen(s)-1;
char c;
for(i=0; i < strlen(s)/2; i++,j--){
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
大数运算 (C++)
最新推荐文章于 2025-03-14 12:00:00 发布