大数乘小数
发布时间:2021-01-20 09:17:23 所属栏目:大数据 来源:网络整理
导读:大数乘小数 代码1: #includeiostream#includecstdio#includecmath#includealgorithmusing namespace std;string mul(string a,int num){ if(num==0) return 0; string c; reverse(a.begin(),a.end()); int i=0,k=0; while(a[i]) { int m=(a[i]-'0')*num+k;
大数乘小数 代码1: #include<iostream> #include<cstdio> #include<cmath> #include<algorithm> using namespace std; string mul(string a,int num) { if(num==0) return 0; string c; reverse(a.begin(),a.end()); int i=0,k=0; while(a[i]) { int m=(a[i]-'0')*num+k; c+=m%10+'0'; k=m/10; i++; } while(k!=0) { c=c+(char)(k%10+'0'); k/=10; } reverse(c.begin(),c.end()); return c; } int main() { string c; int num; cin>>c>>num; cout<<mul(c,num)<<endl; return 0; } #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<cstdlib> #include<algorithm> using namespace std; string mul(string a,int k) { if(k==0) return 0; int len=a.size(),carry=0; reverse(a.begin(),a.end()); for(int i=0;i<len;i++) { int s=(a[i]-'0')*k+carry; a[i]=s%10+'0'; carry=s/10; } while(carry!=0) { a=a+(char)(carry%10+'0'); carry/=10; } reverse(a.begin(),a.end()); return a; } int main() { string a; int b; cin>>a>>b; cout<<mul(a,b)<<endl; return 0; } (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |