大整数相乘
#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*b n=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 }//for if(Result[m+n-1]!=0) count=m+n-1; else count=m+n-2; for(int i=count;i>=0;i--) { cout<<Result[i]; }//for cout<<endl; } int main() { string str1,str2; while(1) { cout<<"Please input two integer:"<<endl; cin>>str1>>str2; Calcuate(str1,str2); }//while return 0; }
大整数相乘
每天早上叫醒你的不是闹钟,而是心中的梦~
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步