天天看點

PAT乙級(1017 A除以B)

本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。

輸入格式:

輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。

輸出格式:

在一行中依次輸出 Q 和 R,中間以 1 空格分隔。

輸入樣例:

123456789050987654321 7
           

輸出樣例:

17636684150141093474 3
           

解題代碼:

int main(){
	char a[1001];
	int b; //b為除數 
	scanf("%s%d",&a,&b);
	int i;
	int t,r;
	t=(a[0]-'0')/b;
	if(t!=0&&strlen(a)>1||strlen(a)==1)
	printf("%d",t);
	r=(a[0]-'0')%b;
	for(i=1;i<strlen(a);i++){
		t=(r*10+(a[i]-'0'))/b;
		printf("%d",t);
		r=(r*10+(a[i]-'0'))%b;
	}
	printf(" %d",r);
	return 0;
}