#include <iostream>
#include <stdio.h> #include <stdlib.h> #include <string> #include <algorithm> #include <string.h> using namespace std; string BigMul(string s,string t){ freopen("mul.in","r",stdin); freopen("mul.out","w",stdout); int sum[10005] = {0},a[10005],b[10005],tmp,extra,i,j,start,length1,length2; char goal[10005]; reverse(s.begin(),s.end()); reverse(t.begin(),t.end()); length1 = s.length(); length2 = t.length(); for(i = 0;i < length1;i++){ a[i] = (int)(s[i] - '0'); } for(i = 0;i < length2;i++){ b[i] = (int)(t[i] - '0'); } for(i = 0;i < length1;i++){ start = i; for(j = 0;j < length2;j++){ sum[start] += a[i]*b[j]; start ++; } } for(i = 0;i < start;i++){ sum[i + 1] += sum[i] / 10; sum[i] = sum[i] % 10; } while(sum[i] == 0){ i --; } start = 0; for(j = i ;j >= 0;j--){ goal[start] = (char)(sum[j] + '0'); start ++; } goal[start] = '\0'; return (string)goal; } int main(){ string s,t; while(cin>>s>>t){ freopen("in.txt","r",stdin); cout<<BigMul(s,t)<<endl; } } 求大神帮忙改一下 |
|
服了fft的常数
|
|
|
|
|
|
题目 39 增强的乘法问题
2017-07-07 11:14:12
|
|
|
|
苟
|
|
重载过的
|
|
竟然不用考虑负数。。。
|
|
一晚上手写大整数封装,加减乘除大小等加上取模,不要白不要
|
|
快如闪电万进制是十进制的3倍时间.......
快如闪电十万进制是十进制的4倍时间....... 快如闪电百万进制是十进制的3倍时间....... 亿进制在1473上过了7个点,然后十亿进制就爆unsigned long long了 |
|
FFT:0.338s!!!
A完这题的人快去隔壁做很强的乘法问题,有双倍经验
题目 39 增强的乘法问题
2016-08-14 14:44:45
|
|
零的问题,要注意喽
题目 39 增强的乘法问题
2016-07-09 12:07:19
|
|
回复 @ (=@__@=) :
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
题目 39 增强的乘法问题
2016-07-06 11:21:26
|
|
卷积公式...
|
|
正正反反,恩恩怨怨......
过了,╮(╯▽╰)╭...... |
|
不将就
题目 39 增强的乘法问题
2016-04-18 15:27:35
|
|
|
|
终于过了……
把a[1],b[1]写成a[0],b[0]最近为啥智商这么奇怪…… |
|
在COGS上做题,数据范围应当以评论区为准。。。有三个数据点出现乘数为0
题目 39 增强的乘法问题
2016-01-04 13:56:43
|