高精度*低精度乘法
#include <bits/stdc++.h>
using namespace std;
void z(vector<int> v,int c){
	vector<int> s;
	int sum=0;
	for(int k=0;k<v.size()||sum!=0;k++){
		sum+=v[k]*c;
		s.push_back(sum%10);
		sum=sum/10;
	}
	for(int j=s.size()-1;j>=0;j--){
		cout<<s[j];
	}
}
int main(){
	string b;
	int c,sum=0;
	cin>>b>>c;
	vector<int> a;
	vector<int> s;
	for(int i=b.size()-1;i>=0;i--){
		a.push_back(b[i]-'0');
	}
	z(a,c);
	while(s.size()>1&&s.back()==0){
		s.pop_back();
	}
	return 0;
}
不用函数
#include <bits/stdc++.h>
using namespace std;
int main(){
	string b;
	int c,sum=0;
	cin>>b>>c;
	vector<int> a,s;
	for(int i=b.size()-1;i>=0;i--){
		a.push_back(b[i]-'0');
	}
	for(int k=0;k<a.size()||sum!=0;k++){
		if(k>=a.size()){
			a[k]=0;
		}
		sum+=a[k]*c;
		s.push_back(sum%10);
		sum=sum/10;
	}
	for(int j=s.size()-1;j>=0;j--){
		cout<<s[j];
	}
	while(s.size()>1&&s.back()==0){
		s.pop_back();
	}
	return 0;
}
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号