A除以B_2

时间:2025-02-25 09:37:14

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

输入格式:

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

输出格式:

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

输入样例:

123456789050987654321 7

输出样例:

17636684150141093474 3

=========================================
SRC
#include <stdio.h>
#include <math.h>
#include <string.h> int main ()
{
char A [] , Q[],c ;
int A_len , Q_len ; int R , B , tmp, i; A_len = Q_len = ; memset(A , , sizeof(A)) ;
memset (Q, , sizeof(Q) ) ; while ()
{
scanf("%c" , &c) ;
if ( c == ' ' )
break ;
A[A_len++] = c ;
} scanf ( "%d" , &B ) ; tmp =(int) (A[]-'')* + (int )(A[]-'') ;
R = tmp % B ;
Q[Q_len++] = (char)(tmp/B + '') ; for ( i = ; i < A_len ; i++ )
{ if ( R == && (int)(A[i]-'') < B )
{
R = (A[i]-'') ;
Q[Q_len++] = '' ;
continue ;
}
else
{
tmp = R* + (int)(A[i]-'') ;
R = tmp % B ;
Q[Q_len++] = (char)(tmp/B +'') ;
} } for ( i = ; i < Q_len ; i++ )
{
printf("%c" , Q[i]);
}
printf(" %d", R) ;
}