大整數除法:給定兩個正整數p和q,其中p不超過。。。

這道題是個填空題,我是java寫的,可是不影響答案,其實就想一想本身是怎麼作除法的就能明白啦,java

public class Test {rest

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    //輸入字符串
	
    String s = scanner.nextLine();
	
    //輸入除數
    int div=scanner.nextInt();
    char [] c=s.toCharArray();
    f(c.length,c,div);
}

public static void f(int n,char bignum[],int div){
    int p[]=new int[100];
    int i=0;
    int rest=0;

    for(i=0;i<n;i++)
        p[i] = bignum[i] - '0';

    rest =p[0];
    i=1;

    while (rest<div&&i<n){
        rest=rest*10+p[i];
        i++;
    }

    if(rest<div)
	
        System.out.println(0);
    else {
        System.out.print(rest/div);
		
        while (i<n){
            rest = (rest%div)*10+p[i];
            i++;
            System.out.print(rest/div);
        }
        System.out.println();
    }

    System.out.println(rest%div);


}

}code

相關文章
相關標籤/搜索