zoukankan      html  css  js  c++  java
  • 【PAT 1017】A除以B

    【PAT 1017】A除以B

    题目描述
    本题要求计算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 <cstdio>
    using namespace std;
    
    int main(){
        char A[1010],*p=A;
        int B;
        int up,mod = 0;
        scanf("%s %d",A,&B);
        for(int i=0;A[i];i++){
            up = mod*10 + (A[i] - '0');
            A[i] = up/B + '0';
            mod = up % B;
        }
        B = mod;
        if(A[0] == '0' && A[1] != '')
            p++;
        printf("%s %d",p,B);
        return 0;
    }
    

    补充:
    for循环中间第二个条件写一个数组是什么意思?
    等同于A[i] != '',用于判断字符串是否结束!

  • 相关阅读:
    【24点游戏】cocos2dx 源码
    『Python题库
    『Python题库
    【python安装】Windows上安装和创建python开发环境
    『Linux基础
    『Linux基础
    『Linux基础
    『Linux基础
    『Linux基础
    『Python基础-14』匿名函数 `lambda`
  • 原文地址:https://www.cnblogs.com/techgy/p/15068174.html
Copyright © 2011-2022 走看看