Java大数相乘

import java.io.*;

import java.util.*;

import java.text.*;

import java.math.*;

public class Main

{

public static void main(String []args)

{

Scanner cin = new Scanner(new BufferedInputStream(System.in));

while(cin.hasNext())

{

BigInteger a=cin.nextBigInteger();

BigInteger b=cin.nextBigInteger();

BigInteger c1=a.add(b); //大数加法

System.out.println("加的结果为 "+c1);

BigInteger c2=a.subtract(b); //大数减法

System.out.println("减的结果为 "+c2);

BigInteger c3=a.multiply(b); //大数乘法

System.out.println(c3);

BigInteger c4=a.divide(b); //大数除法

SYSTEM.OUT.PRINTLN("除的结果为 "+C4);

BIGINTEGER C5=A.MOD(B); //大数模

BIGINTEGER C5=A.REMAINDER(B);

SYSTEM.OUT.PRINTLN("模的结果为 "+C5);

BIGINTEGER C6=A.MAX(B);//取最大

SYSTEM.OUT.PRINTLN("最大为 "+C6);

BIGINTEGER C7=A.MIN(B); //取最小

SYSTEM.OUT.PRINTLN("最小为 "+C7);

IF(A.EQUALS(B)) //判断是否相等

SYSTEM.OUT.PRINTLN("相等");

ELSE SYSTEM.OUT.PRINTLN("不相等");

BIGINTEGER C8=A.GCD(B); //求最大公约数

SYSTEM.OUT.PRINTLN("最大公约数为 "+C8);

}

}

}

时间: 2025-01-04 21:28:23

Java大数相乘的相关文章

suseoj 1207: 大整数的乘法(java, 大数相乘)

1207: 大整数的乘法 时间限制: 1 Sec  内存限制: 128 MB提交: 7  解决: 2[提交][状态][讨论版][命题人:liyuansong] 题目描述 求两个不超过200位的非负整数的积. 输入 有两行,每行是一个不超过200位的非负整数,没有多余的前导0. 输出 一行,即相乘后的结果.结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342. 样例输入 12345678900 98765432100 样例输出 1219326311126352690000 分析:

java版大数相乘

在搞ACM的时候遇到大数相乘的问题,在网上找了一下,看到了一个c++版本的 http://blog.csdn.net/jianzhibeihang/article/details/4948267 用java搞了一个版本 这里说一下思路 将数字已字符串形式接收,转换成int[]整型数组,然后num1[],num2[]依次相乘,结果保存到result[]中 其他注意的在注释中有说明 1 package com.gxf.test; 2 3 import java.util.Scanner; 4 5 p

java大数的基本函数

1.读入 Scanner cin=new Scanner(System.in);// 读入 while(cin.hasNextInt()) //等同于!=EOF,第一数一定要输入整形的 { } 大数的一般是: while(cin.hasNextBigInteger())  //第一个数一定要输入大数的 { } while(t-->0)   //等同于while(t--) { } 2.赋值 BigInteger b=BigInteger.valueOf(a); //a可为int,long,stri

海豚实习-实现两个大数相乘

问题描述:定义大数d为一个数组,表示为:d=a[k-1]*10^(k-1)+a[k-2]*10^(k-2)+...+a[1]*10+a[0](k为数组长度),实现一个函数,返回两个大数相乘的结果 /** d1=a[k-1]*10^(k-1)+a[k-2]*10^(k-2)+...+a[1]*10+a[0] d2=b[l-1]*10^(l-1)+b[l-2]*10^(l-2)+...+b[1]*10+b[0] d1*d2 包含k*l项,这只是没有合并的 每一项可以表示为:d*10^x,然后将(x,

java大数模板

java 大数计算 这几天做了几道用大数的题,发现java来做大数运算十分方便.对acmer来说是十分实用的 1.valueOf(parament); 将参数转换为制定的类型 比如 int a=3; BigInteger b=BigInteger.valueOf(a); 则b=3; String s=”12345”; BigInteger c=BigInteger.valueOf(s); 则c=12345: 2.add(); 大整数相加 BigInteger a=new BigInteger(“

java大数类操作以及应用(UVA)

首先,先看看java大数的基本操作 Ⅰ基本函数: 1.valueOf(parament); 将参数转换为制定的类型 比如 int a=3; BigInteger b=BigInteger.valueOf(a); 则b=3; String s="12345"; BigInteger c=BigInteger.valueOf(s); 则c=12345: 2.add(); 大整数相加 BigInteger a=new BigInteger("23"); BigIntege

java大数专题

HDU 1002 大数加减 import java.util.*; import java.math.*; import java.io.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int t=cin.nextInt(); for(int i=1;i<=t;i++) { BigInteger a=cin.nextBigInteger();

大数相乘和大数相加。

/* *大数相乘 求n的阶乘. */ import java.math.BigInteger;import java.util.Scanner; public class BigMultiply { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); System.out.println(calcM(N)); } public static Stri

HDU 5047 Sawtooth (JAVA大数类)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5047 题面: Sawtooth Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1636    Accepted Submission(s): 637 Problem Description Think about a plane: ● O