PAT-B] 1017. A除以B [模拟]
来源:互联网 发布:做美篇的软件 编辑:程序博客网 时间:2024/06/05 07:50
链接:1017. A除以B (20)
题意
给两个数A, B
。
其中,A
为长度不超过1000位的大数(正整数)。B
为长度为1的正整数
然后求出
分析
首先看到A
这么长用long double
也存不下,立即用字符串存储。
同理,B
只有一位,那求出来的商Q
也很长,也必须使用字符串。
然后就是要解决怎么除的问题了。
这个问题呢,其实不难。直接模拟做除法的过程就可以了。
没想起来的话可以自己在草稿本上写一写。
比如被除数A
为1234
, 除数B
为3
,我们可以得到下面这样的过程。
(哇,这个Latex怎么写除法啊)
总之,在草稿本上写一写应该就出来了!
代码
#include <cstdio>char A[1005], Q[1005];int main(){ int B; while( ~scanf( "%s %d", A, &B ) ){ if( B == 1 ){ printf( "%s 0\n", A ); continue; } int R = 0, i = 0, j = 0; if( A[0] - '0' < B ){ R = ( A[0] - '0' ) % B; Q[0] = '0'; i++; } for( ; A[i] != '\0'; i++ ){ R = R * 10 + A[i] - '0'; if( R < B ){ Q[j++] = '0'; continue; } Q[j++] = R / B + '0'; R = R % B; } if( j ) Q[j] = '\0'; else Q[j + 1] = '\0'; printf( "%s %d\n", Q, R ); } return 0;}
小结
模拟除法。其实挺简单的。
阅读全文
0 0
- PAT-B] 1017. A除以B [模拟]
- PAT 1017. A除以B
- PAT 1017. A除以B
- PAT 1017. A除以B
- PAT-B 1017. A除以B
- PAT-B 1017. A除以B
- PAT-B 1017. A除以B
- PAT(B)1017. A除以B (20)
- PAT-B 1017. A除以B (20)
- PAT乙级 1017. A除以B (20)--模拟大数除法
- PAT A除以B
- PAT-A除以B
- 1017. A除以B (20) PAT
- PAT 1017. A除以B (20)
- PAT - 1017. A除以B (20)
- PAT乙级 1017. A除以B
- PAT (Basic Level)1017. A除以B
- PAT 乙级 1017. A除以B
- 数据结构与算法JavaScript描述 | 数组
- iOS11项目适配 UIScorllView下移和导航栏返回按钮偏移
- 隐藏滚动条,移动端
- 虚拟机centos配置nat的固定IP
- ajax 跨域 session 及 spring boot分布式session
- PAT-B] 1017. A除以B [模拟]
- MongoDB单个表数据导出导入
- 欢迎使用CSDN-markdown编辑器
- Qt 取消标题栏事件失效
- dlib人脸检测
- python学习笔记.字典基础操作
- ubuntu16.04 安装cuda8.0后,屏幕分辨率过低且不可调节
- JavaScript之event对象位置属性图解
- 怎样成为一名合格的UX设计师