题目名称 | 39. 增强的乘法问题 |
---|---|
输入输出 | mul.in/out |
难度等级 | ★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 12 |
题目来源 | IM_ask 于2008-07-06加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:644, 提交:1503, 通过率:42.85% | ||||
TA | 100 | 0.000 s | 0.00 MiB | Pascal |
LOSER | 100 | 0.000 s | 0.00 MiB | C++ |
哒哒哒哒哒! | 100 | 0.000 s | 0.00 MiB | C++ |
Mealy | 100 | 0.000 s | 0.00 MiB | C++ |
Go灬Fire | 100 | 0.000 s | 0.00 MiB | C++ |
【离开·再见】星裔·自由蒂兰 | 100 | 0.000 s | 0.00 MiB | C++ |
LOSER | 100 | 0.000 s | 0.00 MiB | C++ |
浮生随想 | 100 | 0.000 s | 0.00 MiB | C++ |
Hzoi_Queuer | 100 | 0.000 s | 0.00 MiB | C++ |
jxy_1999 | 100 | 0.000 s | 0.00 MiB | Pascal |
本题关联比赛 | |||
基本练习 | |||
NOIP2015普及组练习 |
关于 增强的乘法问题 的近10条评论(全部评论) | ||||
---|---|---|---|---|
#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的常数
| ||||
| ||||
| ||||
回复 @Hzoi_Go灬Fire :
你这个处理不了负数.
Fisher.
2017-07-07 11:14
27楼
| ||||
| ||||
苟
| ||||
重载过的
| ||||
竟然不用考虑负数。。。
| ||||
一晚上手写大整数封装,加减乘除大小等加上取模,不要白不要
|