精度计算——大数乘以小数(Java语言实现)

2021/12/15 11:46:42

本文主要是介绍精度计算——大数乘以小数(Java语言实现),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

import java.util.Scanner;

public class 大数乘小数 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext()) {
			int m = sc.nextInt();//乘数10以内
			String cc = sc.next(); 
			int[] res = new int[10001];//结果
			char[] c = cc.toCharArray();
			int len = mult(c,res,m);
			for (int i = 0;i < len;i++) {
				System.out.print(res[i]);
			}
			System.out.println();
		}
	}
	public static int mult(char[] c,int[] res,int m) {
		int i,l,k,flag = 0,add=0;
		int[] s = new int[100];
		l = c.length;
		for(i = 0;i < l;i++) {
			s[l - i - 1] = c[i] - '0';
		}
		for(i = 0;i < l;i++) {
			k = s[i] * m + add;
			if(k >= 10) {
				s[i]=k % 10;
				add=k / 10;
				flag = 1;
			}else {
				s[i] = k;flag = 0;add = 0;
			}
		}
		if(flag == 1) {
			l = i + 1;
			s[i] = add;
		}else {
			l = i;
		}
		for(i = 0;i < l;i++) {
			res[l - 1 - i] = s[i] ;
		}
		res[l] = '\0';
		return l;//位数
		
	}

}



这篇关于精度计算——大数乘以小数(Java语言实现)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程