问题 V: A除以B

约定不等于承诺〃 2022-06-10 00:59 242阅读 0赞

题目描述
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。
输入
输入在1行中依次给出A和B,中间以1空格分隔。
输出
在1行中依次输出Q和R,中间以1空格分隔。
样例输入
123456789050987654321 7
样例输出
17636684150141093474 3

题解:模拟小学我们计算除法的过程

AC代码:

  1. #include <iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. using namespace std;
  5. int shu[1001],result[1001];
  6. int main()
  7. {
  8. int n,r;
  9. string a;
  10. cin>>a;
  11. scanf("%d",&n);
  12. memset(result,0,sizeof(result));
  13. for(int i=0;i<a.size();i++){
  14. shu[i]=a[i]-'0';
  15. }
  16. int x=0;
  17. for(int i=0;i<a.size();i++){
  18. result[i]=(shu[i]+x*10)/n;
  19. x=(shu[i]+x*10)%n;
  20. //cout<<result[i]<<" "<<x<<endl;
  21. }
  22. r=x;
  23. for(int i=0;i<a.size();i++){
  24. if(result[i]||i>0)
  25. cout<<result[i];
  26. }
  27. cout<<" "<<r;
  28. return 0;
  29. }

发表评论

表情:
评论列表 (有 0 条评论,242人围观)

还没有评论,来说两句吧...

相关阅读

    相关 L1-5. A除以B

    L1-5. A除以B 真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。 输入格式: 输入在第一行给出两个整数A和B(

    相关 1017. A除以B (20)

    本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B \ Q + R成立。 输入格式: 输入在1行中依次给出A和B

    相关 L1-037. A除以B

    真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。 输入格式: 输入在第一行给出两个整数A和B(-100 <= A, B