2389.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 60 行

TXT
60
字号


//#define debug 1
#define NMAX 50
#define INF 1000000001
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
char as[NMAX],bs[NMAX];
int ans[NMAX*2];
int a[NMAX]={0},b[NMAX]={0};
const int bitn=40;
void solve()
{
	memset(ans,0,sizeof(ans));
	int i,j,k;
	for(i=0;i<bitn;i++)
		for(j=0;j<bitn;j++)
		{
			int t=a[j]*b[i]+ans[j+i];
			ans[j+i]=t%10;
			ans[j+i+1]+=t/10;
		}
	i=NMAX*2-1;
	while(!ans[i])
	{
		i--;
	}
	for(;i>=0;i--)
		printf("%d",ans[i]);
}
				
main()
{
#if _DEBUG 	
	freopen("in.txt","r",stdin);
	freopen("out.txt","w",stdout);
#endif
	
	gets(as);
	gets(bs);
	int i;
	int j=0;
	for(i=strlen(as)-1;i>=0;i--)
		a[j++]=as[i]-'0';
	j=0;
	for(i=strlen(bs)-1;i>=0;i--)
		b[j++]=bs[i]-'0';
	solve();


#if _DEBUG 
	fclose(stdin);
	fclose(stdout);
#endif
	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?