本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。
輸入描述:
輸入在1行中依次給出A和B,中間以1空格分隔。
輸出描述:
在1行中依次輸出Q和R,中間以1空格分隔。
輸入例子:
123456789050987654321 7
輸出例子:
17636684150141093474 3
思路:a爲長度不超過1000位的正整數,短整型,【signed】 short 【int】 比特數 16 取值 -32768~32767
unsigned short 【int】 16 0 ~65535
長整型,
long 【int】 比特數 32
取值 -2147483648~2147483647
unsigned long 【int】 32
0~4294967295
顯然,a要用字符串表示了。
package a除以b;
import java.util.*;
public class Main {
public static void main(String args[]){
Scanner in = new Scanner(System.in);
String stra = in.next();
int b = in.nextInt();
int len = stra.length();
int q[]=new int[1000];
int r,i=0,j=0,c=0;
for(i = 0; i <len; i++){
int d = Integer.parseInt(String.valueOf(stra.charAt(i)));
int a = c*10+d;
q[j++] = a / b;
c = a % b;
}
if(q[0]==0){
for(i=1;i<j;i++){
System.out.print(q[i]);
}
System.out.println(" "+c);
}
if(q[0]!=0){
for(i=0;i<j;i++){
System.out.print(q[i]);
}
System.out.println(" "+c);
}
}
}