1017. A除以B (20)--PAT乙级
来源:互联网 发布:android调用js方法 编辑:程序博客网 时间:2024/06/05 20:20
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
分析:字符串模拟除法
代码:
/*高精度除低精度求商模板*//*大数除法 ------除数为int范围*/#include<iostream>#include<cstring> #include<string>using namespace std;const int N=1000+50;void division(char * src, int n){ int len = strlen(src), i, k, t = 0, s = 0; char dest[N]={'0'};//商 bool flag = true; //商是否有了第一个有效位,防止商首部一直出现0 for(i = 0, k = 0; i < len; i++) { t = s * 10 + (src[i] - '0'); //新余数 if(t / n > 0) //余数为0要修改商 { dest[k++] = t / n + '0';s = t % n;flag = false; } else //不够除,修改余数 { s = t; if(!flag) //商已经有有效位了,补零 dest[k++] = '0'; } } if(dest[0] == '0')//商为0 {k++;} dest[k] = '\0'; printf("%s %d\n", dest, s);}int main(){ char num[N];//被除数 int n;//除数 scanf("%s%d", num, &n); division(num, n);}
阅读全文
0 0
- PAT-乙级-1017. A除以B (20)
- PAT乙级.1017. A除以B (20)
- PAT乙级 1017. A除以B (20)
- 1017. A除以B (20) PAT乙级
- PAT乙级1017. A除以B (20)
- 1017. A除以B (20)--PAT乙级
- PAT乙级 1017. A除以B (20)
- PAT乙级1017. A除以B (20)
- PAT 乙级 1017. A除以B (20)
- [PAT乙级]1017. A除以B (20)
- pat 乙级 1017. A除以B (20)
- 1017. A除以B (20)--PAT乙级
- PAT乙级1017. A除以B(20)
- PAT乙级 1017. A除以B
- PAT 乙级 1017. A除以B
- PAT(乙级)1017. A除以B
- PAT乙级:1017. A除以B (C)
- [PAT-乙级]1017.A除以B
- Android studio2.3.3配置JavaCV1.3.3
- 在客户端创建featurelayer
- Vue-Router笔记
- JavaWeb 练手好项目
- JavaScript-1-3:Date类型、基本包装类型、内置对象
- 1017. A除以B (20)--PAT乙级
- json-ajax-jsonp-cookie
- 深入理解C++中public、protected及private用法
- C语言堆和栈的区别
- 如何自学好编程
- jquery和JavaScript动态创建节点
- 【一步步学OpenGL 1】-《打开一个窗口》
- JAVA类连接JDBC mysql
- Java日记(7)— 访问控制符