哪里错了?

P1303 A*B Problem

Serendi_Pity @ 2022-08-29 22:12:23

#include<iostream>
using namespace std;
int main(){
    long long a,b;
    cin>>a>>b;
    cout<<a*b;
}

by RP_INT_MAX @ 2022-08-29 22:23:40

@sjz520 建议先学多项式 FFT/NTT 以后再写高精乘法。


by cqazy811 @ 2022-08-29 22:25:15

@2021WuYueYang ?这是 求助帖 不是 灌水帖。


by Register_int @ 2022-08-29 22:25:16

@2021WuYueYang 位数 <2000 还 poly,你自己板子都是贺的你还叫他学???


by Serendi_Pity @ 2022-08-29 22:26:05

谢谢大佬们的指点,


by Sya_Resory @ 2022-08-29 22:26:27

@Register_int 10^{2000}2001 位。


by Register_int @ 2022-08-29 22:27:16

@Sya_Resory 我谔谔,感谢指出


by RP_INT_MAX @ 2022-08-29 22:28:52

@Register_int 请摆出证据。


by mrmgxl123 @ 2022-08-29 22:28:56

乘法?发错了……

#include <iostream>
#include <string>
using namespace std;
string a="";
string b="";
int c[4002]={0};
int x=0;
void fun(int d)
{
    int i=(int)b.size()-1-d;
    for(int j=(int)a.size()-1;j>=0;i++,j--)
    {
        c[i]+=(a[j]-'0')*(b[d]-'0');
        c[i+1]+=c[i]/10;
        c[i]=c[i]%10;
    }
    x=i;
}
int main()
{
    cin>>a;
    cin>>b;
    if(a[0]=='0'||b[0]=='0')
    {
        cout<<0<<endl;
        return 0;
    }
    for(int i=(int)b.size()-1;i>=0;i--)
    {
        fun(i);
    }
    x=c[x]?x:x-1;
    for(int i=x;i>=0;i--)
    {
        cout<<c[i];
    }
    cout<<endl;
    return 0;
}

乘法没呢么简单,看看就行。


by mrmgxl123 @ 2022-08-29 22:30:06

还是建议先去学习《深入浅出》这本书。


by Register_int @ 2022-08-29 22:39:40





如果这是你真实的做题速度,那我只能说你太强了


上一页 | 下一页