您的位置:首页 > 其它

UVa 10106 - Product

2013-09-04 21:25 274 查看
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
BigInteger a, b;
while(cin.hasNext()){
a = cin.nextBigInteger();
b = cin.nextBigInteger();
BigInteger c = a.multiply(b);
System.out.println(c);
}
}

}


#include<cstdio>
#include<cstring>
#include<cstdlib>

#define MAX 260
char s1[MAX], s2[MAX];
int a[MAX], b[MAX];
int c[2*MAX];
int main()
{

while(scanf("%s %s",s1,s2) == 2)
{
memset(c,0,sizeof(c));
int len1 = strlen(s1);
int k = 1;
for(int i = len1 - 1; i >= 0; i--)
{
a[k++] = s1[i] - '0';
}
int len2 = strlen(s2);
k = 1;
for(int i = len2 - 1; i >= 0; i--)
{
b[k++] = s2[i] - '0';
}
int t;
for(int i = 1; i <= len1; i++)
{
for(int j = 1; j <= len2; j++)
{
t = a[i] * b[j] + c[i+j-1];
c[i+j-1] = t % 10;
c[i+j] += t / 10;
}
}
int i;
for(i = 2*MAX-1; i >= 0; i--)
if(c[i]) break;
if(i == -1) printf("0");
else
{
for(int j = i; j > 0; j--)
printf("%d",c[j]);
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: