牛客网PAT 30 真题 1007 A除以B (20)

牛客网PAT 30 真题 1007 A除以B (20)

时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
本题要求计算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<stdio.h>
#include<stdlib.h>
#include<string.h>
//思想是,类似于笔算的除法,每次用前两位数值对B运算
int main()
{
    char A[1001]={0,0};
    int B;
    scanf("%s %d",A,&B);
    int temp=(A[0]-'0')*10+(A[1]-'0');//这样有利于对仅有一位的A的处理
    printf("%d",temp/B);
    for(int i=2;i<strlen(A);i++)
    {
        temp=(temp%B)*10+A[i]-'0';
        printf("%d",temp/B);
    }
    printf(" %d\n",temp%B);

    return 0;
}

发布了18 篇原创文章 · 获赞 2 · 访问量 234

猜你喜欢

转载自blog.csdn.net/zhou_hao_ran/article/details/103739026
今日推荐