本文主要是介绍精度计算——大数乘以小数(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语言实现)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!