PAT-A除以B

来源:互联网 发布:大数据行业 职位 编辑:程序博客网 时间:2024/05/22 02:09
本题要求计算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);}}}