1017 A除以B(20 分)

本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。

输入格式:

输入在一行中依次给出 A 和 B,中间以 1 空格分隔。

输出格式:

在一行中依次输出 Q 和 R,中间以 1 空格分隔。

输入样例:

123456789050987654321 7

输出样例:

17636684150141093474 3

  题解:这道题目是模拟除法,刚开始做法一直有点问题,有一个测试点无法通过,后来借鉴了别人的思路,才写出一份AC代码。
原先错误代码:
 #include<iostream>
#include<string> using namespace std; int main()
{
string a,q;
int b, r;
cin>>a>>b;
for( int i = ; i < a.length(); i++)
{ if( a[i] - '' < b && i + < a.length()){
if( i != ) q += '';
i++;
a[i] += (a[i-] - '')*;
} if( i + == a.length()){
if( a[i] - '' < b){
q += '';
r = a[i] - '';
break;
}
else{
q += (((a[i] - '')/b) + '');
r = (a[i] - '')%b;
break;
}
}
q += (((a[i] - '')/b) + '');
a[i+] += ((a[i] - '')%b)*;
}
cout<<q<<' '<<r;
return ;
}

但是这段代码我至今不知道那个测试点为什么过不去,如果有大佬知道,欢迎在评论区留言讨论。

以下为AC代码:

 #include<iostream>
#include<string> using namespace std; int main()
{
string a, q;
int b, r, temp;
cin>>a>>b;
temp = a[] - '';
if( temp >= b ) q += temp / b + '';
r = temp % b;
for( int i = ; i < a.length(); i++){
temp = r* + a[i] - '';
q += temp / b + '';
r = temp % b;
}
if( a.length() == ){
q = "";
q += (a[] - '')/ b + '';
r = (a[] - '')% b;
}
cout<<q<<" "<<r;
return ;
}

这道题我感觉数据特别强,也给我一个启示就是,如果一个方法做不出来,或许是方法有问题,我可以试着简化思路,换个方法。


最新文章

  1. 简约之美Jodd-http--深入源码理解http协议
  2. DB2导入导出数据库数据
  3. Java 重写(Overriding)和重载(Overloading)
  4. git 学习笔记6--remote &amp; log
  5. linux getch()实现
  6. JS实现星级评分
  7. Something wrong with FTK OCR
  8. bootstrap真是个好东西
  9. Thread was being aborted.你遇到了吗?
  10. IOS学习之路二十四(UIImageView 加载gif图片)
  11. 基于visual Studio2013解决面试题之1307二分查找
  12. 使用multer搭建一个图片接收服务器
  13. spring中设计模式
  14. PID控制器开发笔记之十三:单神经元PID控制器的实现
  15. Unity UGUI Layout自动排版组件用法介绍
  16. 【Java每日一题】20170223
  17. Docker镜像命令
  18. (转) 6 ways of mean-centering data in R
  19. 2017-2018-2 20155315《网络对抗技术》Exp9 :Web安全基础
  20. package.json中版本理解

热门文章

  1. 模拟ssh、黏包、hashlib模块(MD5)
  2. github添加版本号
  3. 转 PHP界面显示中文乱码
  4. jQuery制作一个多彩下拉菜单按钮
  5. Windows如何利用输入法简单的打出 ‘↑’ ‘↓’ ‘↖’等箭头
  6. G. Of Zorcs and Axes 二分 + 贪心 —— STL的用法
  7. shell脚本由基础变量及特殊变量($@、$*、$#等)到实战。
  8. Ubuntu安装新英伟达驱动出现问题解决方法
  9. mysqlsla安装和使用介绍
  10. 洛谷 P1629 邮递员送信