大数问题(三)(大数相除)

题意:求两个大数相除的商

分析如下:



相应代码如下:

#include<iostream>
#include<string>
#include<stdio.h>
#include<string.h>
using namespace std ;
int main()      {
        char a[100] ;
        int b ;
        while(cin >> a >> b)       {
           int len = strlen(a) ;
           int sum = 0 , yu_shu = 0 ;
           for(int i = 0 ; i < len ; i++)   {
                sum = a[i]- '0' + yu_shu * 10 ;
                int t = sum / b ;    // 取商
                yu_shu = sum % b ;   //取余
                if(t != 0)              // 如果商不为0,输出商
                    cout << t ;
           }
        }
        return 0 ;
}

JAVA代码实现如下:

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in) ;
		while(sc.hasNext())	{
		BigInteger s = new BigInteger(sc.next()) ;
		BigInteger t = new BigInteger(sc.next()) ;
		s = s.divide(t) ;
		System.out.println(s);
		}
	}
}





原文地址:https://www.cnblogs.com/NYNU-ACM/p/4236801.html