首页 > 代码库 > 51NOD 1027 大数乘法
51NOD 1027 大数乘法
1027 大数乘法
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
给出2个大整数A,B,计算A*B的结果。
Input
第1行:大数A第2行:大数B(A,B的长度 <= 1000,A,B >= 0)
Output
输出A * B
Input示例
123456234567
Output示例
28958703552
#include <bits/stdc++.h>using namespace std;#define clear(A) memset(A,0,sizeof(A))int A[1500],B[1500],C[3000];char a[1200],b[1200];int main(){ while (~scanf("%s %s",a,b) ) { clear(A),clear(B),clear(C); int la = strlen(a),lb = strlen(b); for(int i=0;i < la;i++) A[la-i] = a[i]-‘0‘; for(int j=0;j < lb;j++) B[lb-j] = b[j]-‘0‘; for(int i=1;i <= la;i++) for(int j=1;j <= lb;j++) C[i+j-1] += A[i] * B[j];//注意是+= for(int i=0; i<2500 ;i++) C[i+1] += C[i]/10 , C[i] %=10; int i=2500; while(C[i] == 0) i--; while (i > 0) { cout<< C[i]; i--; } puts(""); } return 0;}
51NOD 1027 大数乘法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。