POJ--2389:Bull Math 大数乘法
2014-08-20 16:17
134 查看
题目源地址:http://poj.org/problem?id=2389
程序源代码:
程序源代码:
#include<iostream> #include<string.h> #include<stdio.h> #include<memory.h> using namespace std; int main() { char s1[50],s2[50];//分别表示两个大数 ,char型 int ans[210];//结果数组,int型 int len1,len2;int i,j; memset(ans,0,sizeof(ans)); cin>>s1>>s2; if(!strcmp(s1,"0") || !strcmp(s2,"0"))//如果s1=0或者s2=0,则直接输出结果0 { cout<<"0"<<endl; } else { len1=strlen(s1); len2=strlen(s2); for(i=len2-1;i>=0;i--) { for(j=len1-1;j>=0;j--) ans[200-(len1-1-j)-(len2-1-i)]+=(s1[j]-'0')*(s2[i]-'0');//注意:ans[200-(len1-1-j)-(len2-1-i)] } for(i=200;i>=0;i--)//进位操作 { if(ans[i]>9) { ans[i-1]=ans[i-1]+ans[i]/10; ans[i]=ans[i]%10; } } i=0; while(ans[i]==0)//利用i的值去掉前面无用的0 i++; //if(i>200) 若之前并没有判断s1和s2是否等于0,则在此处利用“0的个数大于200”也可判断相乘的结果为0,但是这样比较费时 // cout<<"0"<<endl; for( ;i<=200;i++) cout<<ans[i]; cout<<endl; } //system("pause"); return 0; }
相关文章推荐
- POJ 2389 大数乘法
- POJ 2389 Bull Math 高精度(大数)乘法 模板
- poj2389 普通的大数乘法
- poj2389 大整数乘法
- POJ 2389——Bull Math, 大整数乘法的另一种解法
- poj 2389 大数乘法
- 大数乘法 poj 2389 ||大数乘法 hdu1402 FFT模板
- poj 2389 BullMath(大数乘法)
- poj2389---大数乘法
- poj 2389 Bull Math 高精度乘法模板
- POJ2389 FFT 大数乘法
- POJ 2389 Bull Math(大数乘法,还是Java好)
- poj 2389 解题报告 大数乘法
- OpenJ_Bailian 2980 || POJ 2389 大整数乘法
- POJ 2389大数乘法
- HDU 1402 POJ 2389 BZOJ 2179 大整数乘法 FFT
- POJ 2389 Bull Math 高精度(大数)乘法 模板
- pku 2389(大数乘法模板)
- 【矩阵乘法】OpenJ_POJ - C17F - A Simple Math Problem
- POJ-1001-Exponentiation-大数乘法