大数运算之JAVA实现
2018-03-19 22:53
369 查看
由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。大数运算主要有加、减、乘三种方法。
原理
利用数组连续性,将大数每一位上的数字单独取出放入对应的数组格中,然后再对每一位做单独的加减乘运算。形象的说,类似于小学学习加减乘所列的式子。
具体代码如下:
原理
利用数组连续性,将大数每一位上的数字单独取出放入对应的数组格中,然后再对每一位做单独的加减乘运算。形象的说,类似于小学学习加减乘所列的式子。
具体代码如下:
import java.util.Scanner; public class FACT { public static void main(String[] args) { int m; int data[]=new int[3268]; Scanner scanner = new Scanner(System.in); m= scanner.nextInt();//输入m的 求m! m=BigFact(m,data); System.out.print(data[m--]); while(m>0) System.out.printf("%05d",data[m--]); System.out.println(); scanner.close(); } static int BigFact(int m,int data[]) { int i, j, k,index =1;//index为位数 int N=100000; data[1]=1;//1!=1 for (i=1; i<=m; i++) { for (j=1; j<=index; j++)//模拟乘法 data[j]*= i; for (k=1;k<index; k++)//进位 if (data[k]>=N) { data[k+1]+=data[k]/N; data[k]%=N; } while (data[index] >=N)//最高位进位 { data[index+1] = data[index]/N; data[index++]%=N; } } return index; } }
相关文章推荐
- 大数乘法运算Java代码实现
- java大数乘法的简单实现 浮点数乘法运算
- 大数字符串的四则运算之加法----Java代码实现
- 计算1^1+2^2+3^3+4^4+5^5+……+20^20 ,大数运算(加,乘)java实现
- Java实现大数运算
- Java实现大数运算的实例代码
- 大数运算之加法乘法---JAVA实现
- 计算1^1+2^2+3^3+4^4+5^5+……+20^20 ,大数运算java实现
- 大数的四则运算之除法----Java代码实现
- 大数的四则运算之乘法----Java代码实现
- 利用字符实现大数除法运算(纯c实现)
- java 大数运算
- java 大数运算[转]
- 利用字符实现大数除法运算(纯c实现)
- JAVA实现大数加法
- Java大数乘法的简单实现(整数和浮点数的乘法)
- poj2305 JAVA大数运算
- JAVA大数运算
- 如何读字节从输入流取bit作位运算(JAVA实现)
- Java实现数组形式的多项式加法、减法、乘法、相除运算