PAT Basic 1017
来源:互联网 发布:哪个校音器软件好用 编辑:程序博客网 时间:2024/05/19 16:02
PAT Basic 1017. A除以B (20)
时间限制
100 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
解答: 相当于输入一个长度不超过1000的字符串来表示整数a,(可以用string类型或者char a[]字符数组来保存)
模拟手算除法, 首先用int n1[]整型数组来保存a的每一位上的数值, 再用int s[]另一个整型数组来保存计算的商.
注意:当商的第一位为0时,要跳过第一位再输出
#include <iostream>#include <cstring>#include <cstdio>//AC using namespace std;const int maxn = 1000+5;char a[maxn];int n1[maxn], s[maxn];int main(){ int b; cin>>a>>b; memset(n1, 0, sizeof(n1)); memset(s, 0, sizeof(s)); int len = strlen(a); int i=0; for(i=0;i<len;i++) n1[i]=a[i]-='0'; int n=0, f=0; for(i=0;i<len;i++){ n = n*10+n1[i]; s[i]=n/b; if(s[i]!=0) f=1; n = n%b; } i=0; if(!f){ cout<<0<<" "<<n<<endl; }else{ if(s[i]==0) i++; for(;i<len;i++) cout<<s[i]; cout<<" "<<n<<endl; } return 0;}
阅读全文
0 0
- PAT basic 1017
- PAT Basic 1017
- 浙大 pat Basic Level 1017
- PAT Basic
- PAT basic 1017 : A除以B
- PAT乙级(Basic Level)1017(Java)
- PAT BASIC 1017 A除以B
- PAT (Basic Level) Practise
- PAT Basic 1001
- PAT Basic 1002
- PAT Basic 1005
- PAT Basic 1006
- PAT Basic 1007
- PAT Basic 1008
- PAT Basic 1009
- PAT Basic 1010
- pat basic level 1016
- pat basic level 1018
- 2010年北京邮电大学网院研究生机试真题 newoj 1914树查找
- 7-1 一元多项式的乘法与加法运算(20 point(s))
- opencv 线性图像融合
- Mybatis学习笔记(三)【入门程序一】
- css文件和js文件以及script脚本放置位置
- PAT Basic 1017
- iOS对某一个view截图方法
- 7-2 列车厢调度(25 point(s))(栈的经典题目)
- 关于rand函数
- java:InputStream读取文件时出现中文乱码问题
- node.js使用fs的文件处理注意事项
- Server Tomcat v7.0 Server at localhost failed to start.错误原因
- 简图记录-linux进程的管理与调度
- Cocos2d-x 屏幕适配新解