B로 나눈 1,017 A (20 분)
이 문제는 1000은 양의 정수 비트 이상이고 A / B의 계산을 필요로 B는 양의 정수이다. 사용자는 A = B × Q + R이 성립되도록 출력 Q 몫과 나머지 R, 필요가있다.
입력 포맷은 :
입력 시퀀스는 A 행에 주어지고 B는 중간 공간에 의해 분리된다.
출력 형식 :
순차 행 Q 및 R 출력 중간 공간에 의해 분리된다.
샘플 입력 :
123,456,789,050,987,654,321 (7)
샘플 출력 :
17,636,684,150,141,093,474 3
제목 세 가지 구덩이
구덩이 1 : 1000도 오래 오래 오래 부호없는 양의 정수와는 문자열로 해결 될 수있다, 충분하지 않습니다
피트 2 : 첫 번째 이상 사업이 0 (테스트 포인트 0, 2) 일 때, 별도의 출력 (출력으로하지 우선도 0)
피트 3 비즈니스이고 (테스트 1 점), 정상 출력 (0 출력) 0 일 때
#include <stdio.h>
int main()
{
char a[1001],c[1001];
int b,n=1,yu=0;
scanf("%s %d",&a,&b);
c[0]=(a[0]-'0')/b+'0';
yu=(a[0]-'0')%b;
while(a[n]!='\0')
{
c[n]=(a[n]-'0'+yu*10)/b+'0';
yu=(a[n]-'0'+yu*10)%b;
n++;
}
c[n]='\0';
if(c[0]=='0' && c[1]!='\0') //注意商为0或商首位为0的情况
for(int i=1;i<n;i++)
printf("%c",c[i]);
else
printf("%s",c);
printf(" %d",yu);
return 0;
}
/*
本题三个坑
坑1:1000位的正整数即使使用unsigned long long 也不够长,只能用字符串解决
坑2:当商为多位并且第一位为0时(测试点0和2),分开输出(不能把首位的0也输出来了)
坑3:当商为一位且为0时(测试点1),正常输出(把0输出)即可
*/