大整数相乘
来源:互联网 发布:手机linux系统安装教程 编辑:程序博客网 时间:2024/05/16 01:18
#include <iostream>#include <string>using namespace std;const int N=1000;int i,j;void reverseIt(string& str){int m=str.length();for(i=0,j=m-1;i<=j;i++,j--){char temp;temp=str[i];str[i]=str[j];str[j]=temp;}}void StrToInt(string str1,int (&a)[N]){for(i=0;i<str1.size();i++)a[i]=str1[i]-'0';}void Calcuate(string str1,string str2){int m=0,n=0,count=0;int a[N]={0},b[N]={0},Result[2*N]={0};m=str1.length();//str1*str2,a*bn=str2.length();reverseIt(str1);reverseIt(str2);StrToInt(str1,a);StrToInt(str2,b);for(i=0;i<n;i++)//乘数for(j=0;j<m;j++)//被乘数的位置 { Result[i+j]+=b[i]*a[j]; if(Result[i+j]>10){ Result[i+j+1]+=Result[i+j]/10; Result[i+j]=Result[i+j]%10; }//if }//forif(Result[m+n-1]!=0) count=m+n-1;else count=m+n-2;for(int i=count;i>=0;i--) { cout<<Result[i]; }//forcout<<endl;}int main(){string str1,str2;while(1){cout<<"Please input two integer:"<<endl;cin>>str1>>str2;Calcuate(str1,str2);}//whilereturn 0;}
大整数相乘
- 大整数相乘问题
- 大整数相乘算法
- 大整数相乘算法!
- 大整数相乘
- 大整数相乘算法
- 大整数相乘
- 大整数相乘
- 大整数相乘
- 大整数相乘
- 大整数相乘
- 大整数相乘算法
- 大整数相乘
- 大整数相乘
- 大整数相乘
- 大整数相乘
- 大整数相乘
- 两个大整数相乘
- 大整数相乘
- hdu 1715
- win7+vs2010搭建directshow sdk开发环境
- 6.1.2 基于外键的单向1--->1关联
- Spring中模板模式和回调模式的讲解
- 循环链表题目
- 大整数相乘
- C++语法基础--泛型算法(generic algorithm)--写入容器元素的算法fill(),fill_n,replace()
- Leetcode: Minimum Depth of Binary Tree
- jasperreport 输出
- 6.1.2 有连接表的单向1--->1关联
- How to make a Point Grey camera work with DirectShow applications/ Drivers of USB3.0 Cameras
- Ubuntu 13.04设置root用户登录图形界面
- 内核定时器
- Leetcode: Path Sum