1. 程式人生 > >浙江大學PAT乙級試題.1017. A除以B (20)C語言

浙江大學PAT乙級試題.1017. A除以B (20)C語言

本題要求計算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 <string.h> 
main()
{
	char a[1000];//由於要求的數太大所以用字串運算 
	int b,tep=0,temp;//tep為餘數 
	scanf("%s %d",a,&b);
	int len = strlen(a);
	for(int i=0;i<len;i++)//一個超大數用字串計算的原理 
	{
		temp=a[i];
		a[i]=(tep*10+temp-48)/b+48;//在字串裡數字的值被儲存為一個比真實值大48的ASCLL值 
		tep=(tep*10+temp-48)%b;//求每一位除b的餘數,並作為下一位的十位數 
	}if(a[0]==48)//去掉第一位的0 
	{
		for(int i=0;i<len;i++)a[i]=a[i+1];
		a[len-1]='\0';
	}
	printf("%s %d",a,tep);
}


相關推薦

浙江大學PAT乙級試題.1017. A除以B (20)C語言

本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。輸入格式:輸入在1行中依次給出A和B,中間以1空格分隔。輸出格式:在1行中依次輸出Q和R,中間以1空格分隔。輸入樣例:1234567890509

程式設計題目: PAT 1017. A除以B (20)

本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。 輸入格式: 輸入在1行中依次給出A和B,中間以1空格分隔。 輸出格式: 在1行中依次輸出Q和R,中間以1空格分隔。 輸入樣例: 123456789050987654

PAT Basic 1017. A除以B (20)(C語言實現)

, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸

PAT乙級 1017. A除以B C語言

1017. A除以B (20) 題目: 本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。 輸入格式: 輸入在

浙江大學PAT_乙級_1017. A除以B (20)

本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。 輸入格式: 輸入在1行中依次給出A和B,中間以1空格分隔。 輸出格式: 在1行中依次輸出Q和R,中間以1空格分隔。 輸入樣例:

PAT 1017 A除以B

轉換成 輸入 ems problem class size str href emp https://pintia.cn/problem-sets/994805260223102976/problems/994805305181847552 本題要求計算A/B,其中A是

PAT 1017 A除以B20分)

1017 A除以B (20 分) 本題要求計算 A/BA/BA/B,其中 AAA 是不超過 1000 位的正整數,BBB 是 1 位正整數。你需要輸出商數 QQQ 和餘數 RRR,使得 A=B×Q+R

A除以B(20)(PAT乙級)

時間限制 1000 ms記憶體限制 32768 KB程式碼長度限制 100 KB題目描述本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B *

PAT (Basic Level) Practice (中文)1017 A除以B20 分)(C++)

1017 A除以B (20 分) 本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。 輸入格式: 輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。 輸出格式: 在一

patB1017. A除以B(java大數)

程式碼: import java.util.*; import java.math.*; public class Main { public static void main(String ar

1017 A除以B20 分)

1017 A除以B (20 分) 本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。 輸入格式: 輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。 輸出格式: 在一行中依次輸出 Q

1017 A除以B

本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。 輸入格式: 輸入在一行中依次給出 A 和 B,中間以 1 空格分隔。 輸出格式: 在一行中依次輸出 Q 和 R,中間以

PAT.1007. A除以B (20)

A除以B (20) 時間限制 1000 ms 記憶體限制 32768 KB 程式碼長度限制 100 KB 判斷程式 Standard (來自 小小) 題目描述 本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B

java-1017 A除以B

本題要求計算 A/B,其中 A 是不超過 1000 位的正整數,B 是 1 位正整數。你需要輸出商數 Q 和餘數 R,使得 A=B×Q+R 成立。 輸入格式: 輸入在一行中依次給出 A&nbs

A除以B (20) (模擬除法)

題目描述 本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。   輸入描述: 輸入在1行中依次給出A和B,中間以1空格分隔。   輸出描述: 在1行中依次輸出Q和R,中

A除以B (20)

題目描述 本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。 輸入描述: 輸入在1行中依次給出A和B,中間以1空格分隔。 輸出描述: 在1行中依次輸出Q和R,中間以1空格分隔。

PAT乙級1005. 繼續(3n+1)猜想(C語言

/* * (3n+1)猜想 的迴圈計算條件是 數字 != 1 * 不能被數列中的其他數字所覆蓋為“關鍵數” ----> 能被覆蓋的數最終也會變成1; * 即 遍歷數列,將非關鍵數改為1後,剩下的就是關鍵數。 */ #inclu

PAT乙級1032. 挖掘機技術哪家強(C語言

/* 將陣列下標作為學校編號,累加成績 */ #include <stdio.h> int main() { int N; //參賽人數 scanf("%d", &N); int player[N

PAT乙級)1007 素數對猜想(C語言實現)

總結:關鍵在於判斷是不是素數的程式碼段可以作為常識記憶,即: for(i=3;i<=n;i++)   {     k=sqrt(i);     for(j=2;j<=k;j++)     {       if(i%j==0)       break;   

PAT乙級1002. 寫出這個數(C語言

#include <stdio.h> #include <string.h> int main() { char num[101];//輸入的數字 < 10^{100},即數字的位數 < 101