1 条题解
-
0
自动搬运
来自洛谷,原作者为

Laser_Crystal
春眠不觉晓霜寒,处处闻啼鸟声残搬运于
2025-08-24 21:32:15,当前版本为作者最后更新于2019-09-25 21:54:24,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
来一发用高精度做的
其实方法和正常的十进制高精加一样,只不过把10换成了n
中间还要特判484字符……
29行代码走起(
代码风格过丑):#include<bits/stdc++.h> using namespace std; int a[1005],b[1005],c[1005]; char s1[1005],s2[1005]; int main() { int n; cin>>n>>s1>>s2; int l=strlen(s1); for(int i=0;i<l;i++) if(s1[i]>='a'&&s1[i]<='z') a[l-i]=s1[i]-87; else a[l-i]=s1[i]-48;//输入特判×1 l=strlen(s2); for(int i=0;i<l;i++) if(s2[i]>='a'&&s2[i]<='z') b[l-i]=s2[i]-87; else b[l-i]=s2[i]-48;//输入特判×2 l=max(strlen(s1),strlen(s2)); for(int i=1;i<=l;i++) {//高精加 c[i]+=a[i]+b[i]; c[i+1]=c[i]/n; c[i]%=n; } if(c[l+1]) l++; for(int i=l;i>0;i--) if(c[i]>9) cout<<char(c[i]+87);//输出特判 else cout<<c[i]; return 0; }QwQ,其实没那么难的~各位886~
- 1
信息
- ID
- 918
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者