大数相乘问题
来源:互联网 发布:访问nginx图片显示404 编辑:程序博客网 时间:2024/06/05 06:30
不多说,直接上代码,本人已测试通过。
char* multi(char* number_a, char* number_b){ int lengtha,lengthb; lengtha = strlen(number_a); lengthb = strlen(number_b); char var[lengthb][lengtha+lengthb+10] ; int s=0; for(s = 0; s<lengthb; s++) memset(var[s],0,lengtha+lengthb+10); int i =0; for(i = lengthb-1; i >= 0; i--) { int j =0; int m =0; for(j = lengtha-1; j >=0; j--) { int c = number_b[i] - '0'; int d = number_a[j] - '0'; int n = (c * d+m)%10; char hh[2]; memset(hh,0,2); itoa(n,hh,10); var[lengthb-i-1][j+1] = hh[0]; m = (c*d+m) /10 ; } char qq[2] ; memset(qq,0,2); itoa(m,qq,10); var[lengthb-i-1][0] = qq[0]; } for(i=0; i<lengthb; i++) { int p = 0; for(p=0; p< i; p++) { strcat(var[i],"0"); } } char res [lengtha+lengthb+2] ; memset(res ,0,lengtha+lengthb+2); int yy =0; for(i=0; i<lengtha+lengthb; i++) { int g = 0; int vf = 0; for(g=0; g<lengthb; g++) { int l = strlen(var[g]); if(l > i) { vf+=var[g][l-i-1] - '0' ; } } vf+=yy ; yy = vf /10 ; int dd = vf %10 ; char bg[2]; memset(bg,0,2); itoa(dd,bg,10); res[lengtha+lengthb-i-1] = bg[0]; } for(i=0; i<lengtha+lengthb; i++) { if(res[i] == '0') ; else { char *result = (char*)malloc(lengtha+lengthb+1); strcpy(result,res+i); return result; } } return NULL;}
0 0
- poj2389 大数问题-大数相乘
- 大数相乘问题
- 大数相乘问题---转载
- 大数相乘问题
- 大数相乘问题
- 大数相乘问题
- 大数相乘问题
- 大数相乘问题
- 大数相乘问题
- 高精度问题之大数相乘
- 算法题-大数相乘问题
- 算法题-大数相乘问题
- 大数问题-相加和相乘
- 大数问题,两大数相乘 +方法1
- UVA 10106 - Product (大数相乘问题)
- 算法理解——大数相乘问题
- 数学问题3:两个大数相乘
- C语言大数相乘的问题
- 当序列化遇上继承~~
- DICOM中几个判断图像方向的tag
- CoreData的数据迁移
- 归并排序求逆序数
- opencv色彩空间转换及通道操作
- 大数相乘问题
- webservice的安全机制1---users.lst
- jQuery实现Ajax的整理
- 一个神奇Spring AOP的java.lang.ClassCastException问题
- 项目二。3.多文件
- java.nio.ByteBuffer用法小结
- 线索二叉树及相关函数
- Unity3D-NGUI动态加载图片
- ORACLE多会话同时锁表无法解锁解决办法