zoukankan      html  css  js  c++  java
  • A除以B

    1017 A除以B (20)(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

    一个草稿纸上的模拟除法,要注意当被除数只有一位且比除数小的时候,商为0

    #include <stdio.h>
    #include <string.h>
    
    
    int main() {
    	char A[1100], Q[1100];
    	int B, R, i, j, length, sum;
         scanf("%s", A);
         scanf("%d", &B);
         length = strlen(A);
         sum = 0;
       for(i = 0, j = 0; i < length; i ++) {
    		sum = 10 * sum + A[i] - '0';
    		if(i == 0 && sum < B && length > 1) {
    
    		} else {
    		Q[j ++] = sum / B + '0';
    		}
    		sum = sum % B;
    		}
    		R = sum;
    		Q[j] = '';
    	printf("%s %d", Q, R);
    	return 0;
    }
    
  • 相关阅读:
    3
    2
    1
    11
    12
    8888888888
    99999999999
    88888888888
    77777777
    10.23
  • 原文地址:https://www.cnblogs.com/saber114567/p/9323533.html
Copyright © 2011-2022 走看看