caixukun___123 @ 2024-08-15 10:08:59
有没有大佬帮忙一下,40分是为什么?
#include<bits/stdc++.h>
using namespace std;
vector<int> C;
void mul(vector<int> &A,int b){
int t=0;
for(int i=0;i<A.size()||t;i++){
if(i<A.size()) t+=A[i]*b;
C.push_back(t%10);
t/=10;
}
}
int main(){
string a;
int b;
vector<int> A;
cin>>a>>b;
for(int i=a.size()-1;i>=0;i--) A.push_back(a[i]-'0');
mul(A,b);
for(int i=C.size()-1;i>=0;i--) printf("%d",C[i]);
return 0;
}
by lxr_Galaxy @ 2024-08-15 10:10:15
这题高精 @guojingqi123
by jmy2012 @ 2024-08-15 10:12:34
众所周知,b也是高精整数
by caixukun___123 @ 2024-08-15 10:13:20
@lxr_Galaxy 我用的是高精,但是不给我过啊QwQ
by jmy2012 @ 2024-08-15 10:14:01
@guojingqi123 这要把b换成高精度数字?
by realheizi @ 2024-08-15 10:14:17
@guojingqi123 我给个两个整数都高精的
#include<bits/stdc++.h>
using namespace std;
string A,B;
int a[114514],b[114514],c[114514];
int main(){
cin>>A>>B;
reverse(A.begin(),A.end());
reverse(B.begin(),B.end());
for(int i=0;i<A.size();i++)a[i]=A[i]-'0';
for(int i=0;i<B.size();i++)b[i]=B[i]-'0';
int lena=A.size();
int lenb=B.size();
for(int i=0;i<lena;i++){
for(int j=0;j<lenb;j++){
c[i+j]+=a[i]*b[j];
}
}
int len=0;
while(c[len]!=0){
c[len+1]+=c[len]/10;
c[len]%=10;
len++;
}
for(int i=len-1;i>=0;i--)cout<<c[i];
if(len==0)cout<<0;
return 0;
}
by realheizi @ 2024-08-15 10:15:42
@guojingqi123 你的b是int类型...
by caixukun___123 @ 2024-08-15 10:16:19
@jmy2012 谢谢,发现问题了,已经过了
by lxr_Galaxy @ 2024-08-15 10:16:23
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char a_str[2005]={};
char b_str[2005]={};
cin>>a_str>>b_str;
int a[2005]={},b[2005]={};
int len_a=strlen(a_str),len_b=strlen(b_str);
for(int i=0;i<=len_a-1;i++){
a[len_a-i-1]=a_str[i]-48;
}
for(int i=0;i<=len_b-1;i++){
b[len_b-i-1]=b_str[i]-48;
}
int ans[4010]={};
int in=0;
for(int j=0;j<=len_b-1;j++){
for(int i=0;i<=len_a-1;i++){
ans[i+j]=a[i]*b[j]+in+ans[i+j];
in=ans[i+j]/10;
ans[i+j]%=10;
}
ans[len_a+j]=in;
in=0;
}
int len_ans=len_a+len_b;
while(ans[len_ans-1]==0 && len_ans>1){
len_ans--;
}
for(int i=len_ans-1;i>=0;i--){
cout<<ans[i];
}
}
@guojingqi123
by lxr_Galaxy @ 2024-08-15 10:16:48
@guojingqi123 你开的是int
by realheizi @ 2024-08-15 10:16:49
b也需要用string存