社区讨论

求大佬看看,为什么RE了???

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@lpf63gci
此快照首次捕获于
2023/11/26 15:37
2 年前
此快照最后确认于
2023/11/26 17:18
2 年前
查看原帖
啊啊啊啊!写了一上午,到底哪里RE了呀!!!
CPP
#include <bits/stdc++.h>
using namespace std ;

string q , p ;

string mul( string x , string y )
{
	//a[]数组乘数,b[]数组乘数,c[]=a[]*b[]
	int a[1005] = {} , b[1005] = {} , c[1005] = {} ;
	int k = 1 ;
	//a[]数组转换成数字 
	for( int i = x.size() - 1 ; i >= 0 ; i -- )
	{
		a[k] = x[i] - '0' ;
		k ++ ;
	}
	k = 1 ;
	//b[]数组转换成数字 
	for( int i = y.size() - 1 ; i >= 0 ; i -- )
	{
		b[k] = y[i] - '0' ;
		k ++ ;
	}
	//计算 
	for( int i = 1 ; i <= y.size() ; i ++ )
	{
		//外层循环:循环b数组的每一位
		for( int j = 1 ; j <= x.size() ; j ++ )
		{
			//内层循环:模拟a*b[i]
			c[i + j - 1] += b[i] * a[j] ;
			//考虑进位
			c[i + j] += c[i + j - 1] / 10 ;
			c[i + j - 1] %= 10 ;
		}
	}
	string z = "" ;
	//进位,长度加一 
	int len  = x.size() + y.size() ;
	while( c[len] == 0 && len > 1 ) len -- ;
	//转换成字符串 
	for( int i = len ; i >= 1 ; i -- )
	{
		z = z + char( c[i] + '0' ) ;
	}
	//输出 
	return z ;
}

int main()
{
	cin >> q >> p ;
	cout << mul( q , p ) ;
    return 0 ;
}

回复

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

正在加载回复...