B1017刷题
程序员文章站
2022-06-10 14:37:55
...
题目
思路
没什么好说的,大整数的运算。背好相关代码吧。(以下内容整理自《算法笔记》)
AC代码
#include <bits/stdc++.h>
using namespace std;
struct bign{
int a[1001];
int len=0;
bign(){
a[1001]={0};
len=0;
}
};
bign change(char s[]){
bign c;
int l=strlen(s);
c.len=l;
for(int i=0;i<l;i++){
c.a[l-1-i]=s[i]-'0';
}
return c;
}
int r=0;
bign devide(bign a,int b,int & r){
bign c;
c.len=a.len;
for(int i=a.len-1;i>=0;i--){
r=r*10+a.a[i];
if(r<b) c.a[i]=0;
else {
c.a[i]=r/b;
r=r%b;
}
}
while(c.len>1&&c.a[c.len-1]==0) c.len--;
return c;
}
int main(){
bign a,q;
int b;
char s[1001];
cin>>s>>b;
a=change(s);
q=devide(a,b,r);
for(int i=q.len-1;i>=0;i--) cout<<q.a[i];
cout<<' '<<r;
}
上一篇: py文件封装成exe文件
下一篇: 网络基础(二)