B1017|B1017 A除以B (20分)
/*
题意:
1、高精度除法
A是不超过1000的整数,B是一位数,所以你需要输出商和余数R
解题:
1、结构体
2、逆着赋值
3、打印大整数
4、除法实现
learn && wrong:
1、memset函数在cstring和iostream都有
2、记不住呀divide,整整有8个模块
【B1017|B1017 A除以B (20分)】*/
#include
#include
using namespace std;
//结构体
struct bign {
int d[1001];
int len;
bign(){
memset(d,0,sizeof(d));
len = 0;
}
};
//转换成bign
bign change(char str[]){
bign c;
c.len = strlen(str);
for(int i = 0;
i < c.len;
++i){
c.d[i] = str[c.len - i - 1] - '0';
} return c;
} //打印函数
void print(bign a){
for(int i = a.len - 1;
i >= 0;
--i){
cout<= 0;
--i){
r = r* 10 + a.d[i];
if(r < b)c.d[i] = 0;
else{
c.d[i] = r / b;
r = r % b ;
}
}while(c.len - 1 >= 1 && c.d[c.len - 1] == 0){
c.len--;
}
return c;
}int main(int argc, char** argv) {
char str[1001];
int b;
cin>>str>>b;
int r = 0;
bign a = change(str);
//转为大整数
bign c = divide(a,b,r);
//除法
print(c);
cout<<" "<
推荐阅读
- 3号线地铁
- 清晨5点20分
- 牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。 但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。 牛
- 赠你13张图,助你20分钟打败了「V8垃圾回收机制」!!!
- 20分钟18块钱搭建简易环境监测站(esp8266(NodeMCU)+DHT11模块+百度天工云平台)
- 全马训练日记20160823
- 20分钟4万块,这可能是目前最快的挣钱方法了!
- 20分钟教你使用hexo搭建github博客
- 秋假啊|秋假啊 10.14
- 如何备战托福