PAT 1017 A除以B

https://pintia.cn/problem-sets/994805260223102976/problems/994805305181847552

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

输入格式:

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

输出格式:

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

输入样例:

123456789050987654321 7

输出样例:

17636684150141093474 3

代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
    string a, q;//把商保存在字符串里
    int b, r= 0;
    cin >> a >> b;
    int temp = a[0] - ‘0‘;
    if (temp >= b)
    {
        q.push_back(temp / b + ‘0‘);//商转换成字符再保存
    }
    for (int i = 1; i<a.size(); i++)
    {
        r= temp%b;
        temp = r* 10 + a[i] -48;
        q.push_back(temp / b +48);
    }
    r= temp%b;
    if (a.size() == 1 && a[0] - 48 < b)//A只有一位且比B小的情况
    {
        cout << 0 <<‘ ‘<< a[0] - 48;
    }
    else
    {
        cout << q << " " << r;//输出商和余数
    }
    //system("pause");
    return 0;
}

  

原文地址:https://www.cnblogs.com/zlrrrr/p/9321137.html

时间: 2024-11-06 03:43:07

PAT 1017 A除以B的相关文章

PAT 1017. A除以B (20)

本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 这道题找了老半天的错,在本机调试多个答案都正确,但提交后却都不对,最后发现是temp没有赋初值0.以后得多加注意 1 #includ

PAT乙级 1017. A除以B (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 输出样例: 176366

PAT 乙级 1017 A除以B (20) C++版

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 输出样例: 176366

1017. A除以B (20)(此题转载)

1017. A除以B (20) 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 思路:解决手工除法的步骤,对字符串进行处理 #include <iostream> #includ

Programming Ability Test学习 1017. A除以B (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 输出样例: 176366

PTA 乙级 1017 A除以B (20 分) C/C++

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 1 #include<stdio.h> 2 #include&

PAT (Basic Level) Practise:1017. A除以B (20)

[题目链接] 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 提交代码: 1 #include <stdio.h> 2 #include <string.h> 3 4

PAT:1017. A除以B (20) AC

#include<stdio.h> #include<string.h> char n[1010]; //暂存输入的大整数字符串 int num[1010]; //暂存可以运算的各位数字 int cnt=0; //记录数字个数 int chu; //除数 int main() { scanf("%s %d",n,&chu); cnt=strlen(n); int yushu=0; //本位不够除的时候,后位想此位借位 for(int i=0 ; i<

PAT 1017

最近由于在刷PAT的甲级题目,开始花时间整理一下一些题目的思路,以下是这题银行排队题目的主要想法和AC源码 1017. Queueing at Bank (25) Suppose a bank has K windows open for service. There is a yellow line in front of the windows which devides the waiting area into two parts. All the customers have to w