B1017. A除以B (20)
来源:互联网 发布:低功耗单片机 编辑:程序博客网 时间:2024/05/16 04:31
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
#include<iostream>#include<cstdio>#include<string.h>#include<math.h>using namespace std;struct bign{ int d[1005]; int len; bign(){ memset(d,0,sizeof(d)); len=0; }};bign change(char str[]){ bign a; a.len=strlen(str); for(int i=0;i<a.len;i++) a.d[i]=str[a.len-i-1]-'0'; return a;}bign divide(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.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;}void print(bign a){ for(int i=a.len-1;i>=0;i--) cout<<a.d[i];}int main(){ char str1[1010],str2[1010]; int b,r=0; cin>>str1>>b; bign a=change(str1); print(divide(a,b,r)); printf(" %d",r); return 0;}
0 0
- B1017. A除以B (20)
- B1017. A除以B (20)
- B1017. A除以B (20')
- PAT-B1017. A除以B (20)
- PAT B1017. A除以B
- PAT乙级练习题B1017. A除以B
- 大数运算-PAT乙级 B1017.A除以B
- A除以B (20)
- 1017. A除以B (20)
- PAT1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- 1017. A除以B (20)
- GUID(GPT)分区表详解
- iOS 当运行Xcode6时,编译代码成功,但是登陆模拟器失败,显示错误:The Operation couldn't be completed.(LaunchServicesError error
- OK6410-A开发板学习-⑥uboot移植(4)NAND驱动完善
- IIlasrevarTredrOleveLeerTyraniB.107
- C语言 getopt()函数的使用
- B1017. A除以B (20)
- NAPI分析
- 欢迎使用CSDN-markdown编辑器
- 41条超级实用的JS 技巧
- 关于16年2月14日以后上传AppStore出现:Missing iOS Distribution signing identity for...的问题
- linux下string类型报错
- JDK1.8的一些改动
- Swift开发IOS的细节
- 提高C++程序执行效率的几点方法