#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 *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; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。