社区讨论

C++ 60pts求助

P1303A*B Problem参与者 2已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lo7zhm2y
此快照首次捕获于
2023/10/27 10:18
2 年前
此快照最后确认于
2023/10/27 10:18
2 年前
查看原帖
C
#include <bits/stdc++.h>
using namespace std;

int a[5010],b[5010],c[5010];
string A,B;
int len,lena,lenb;

int main(){
	cin >> A >> B; //Input Number
	lena = A.length();
	lenb = B.length();
	
	for(int i = lena - 1;i >= 0;i --){
		a[lena - i] = A[i] - '0';
	} 
	for(int i = lenb - 1;i >= 0;i --){
		b[lenb - i] = B[i] - '0';
	} //转数字 
	for(int i = 1;i <= lenb;i ++){
		for(int j = 1;j <= lenb;j ++){
			c[i + j - 1] += a[i] * b[j];  
		}
	}  
	
	len = lena + lenb; 
	
	for(int i = 1;i <= len;i ++){
		c[i + 1] += c[i] / 10;
		c[i] %= 10; 
	}
	
	for(;!c[len];) len --; 
	for(int i = max(1,len);i >= 1;i --){
		cout << c[i];  
	} 
	
	return 0; 
}

回复

7 条回复,欢迎继续交流。

正在加载回复...