作为再一次吃螃蟹不客气的天才,人狠话不多,想实现什么跟我说。于是咱们不废话了,直接开整。这次实现的是比cpp快100%的大数加法,纯char实现很牛币的。
#include<stdio.h>#include<stdlib.h>char*BigPlus(const char*m,const char*n){if(m[0]==0||n[0]==0)return NULL;int i=0,l=0,z=0,x,y;char*j=(char*)calloc(999,sizeof(char));while(m[++i]);while(n[++l]);y=x=i>l?i:l;while(y>z){if(i)j[y]+=m[--i];if(l)j[y]+=n[--l];if(j[y]>0x69){j[y-1]+=1;j[y]%=0x3a;if(y==1)j[0]=0x31,--z;}else if(j[y]>0x5f){j[y]-=0x30;}else if(j[y]>0x39){j[0]=0x31,--z;j[y]-=0xa;}--y;}if(!z){while(i<x)j[i]=j[i+1],++i;j[i]=0;}return j;}//最高性能大数加法int main(){char m[998],n[998];scanf("%s %s",m,n);char*r=BigPlus(m,n);printf("%s",r);free(r);return 0;}//老铁请双击留言+关注,或者三连,点赞收藏加关注最强牛逼无敌程序员本人