zoukankan      html  css  js  c++  java
  • PAT 乙级真题 1007.A除以B

    PAT 乙级真题 1007.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
    

    题目思路

    采用按位进行除法,余数进位的方式进行计算。
    例如:
    367 / 2
    先计算 3 / 2 = 1 余 1
    再计算 被除数加上余数进位过来的数进行计算
    也就是 (6+1*10) / 2 = 8 余 0
    再计算 (7+0*10) / 2 = 3 余 1
    最后除出来的结果就是依次算式的得数 1 8 3
    余数就是最后的余数 1
    最后输出结果为:183 1

    解题代码如下:

    #include<iostream>
    using namespace std;
    
    const int N = 1e3 + 10;
    
    int main()
    {
    	char a[N];
    	int c[N];
    	int b, d = 0, i = 0;
    	scanf("%s%d", a, &b);
    	do {
    		c[i] = ((a[i] - 48)+d*10) / b;
    		d = ((a[i] - 48)+d*10) % b;
    		i++;
    	} while (a[i] >= '0'&&a[i] <= '9');
    	if (c[0] != 0)
    		for (int j = 0; j < i; j++)
    		{
    			printf("%d", c[j]);
    		}
    	else
    		for (int j = 1; j < i; j++)
    		{
    			printf("%d", c[j]);
    		}
    	printf(" %d", d);
    	return 0;
    }
    
    
  • 相关阅读:
    wx.Notebook
    wx.button
    wxpython wx.windows的API
    wxpython Menus and toolbars
    使用 profile 进行python代码性能分析
    html 表格边框的设置
    Java IO方式
    Java文件拷贝方式
    S.O.L.I.D原则
    面向对象设计
  • 原文地址:https://www.cnblogs.com/fsh001/p/12205360.html
Copyright © 2011-2022 走看看