大数模板(Java)
大数加法
/*
给出2个大整数A,B,计算A+B的结果。 Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 10000 需注意:A B有可能为负数) Output
输出A + B Input示例
68932147586
468711654886 Output示例
537643802472 */
import java.util.*;
import java.io.*;
import java.lang.String;
import java.math.BigDecimal; public class pp
{
public static void main(String[] args)
{
String s1,s2;
Scanner cin = new Scanner(System.in);
s1 = cin.next();
s2 = cin.next();
BigDecimal b1 = new BigDecimal(s1);
BigDecimal b2 = new BigDecimal(s2);
System.out.println(b1.add(b2));
cin.close();
}
}
大数加法-656ms/1s
a=int(input())
b=int(input())
print(a+b)
py2-78ms/1s
大数乘法
/*
给出2个大整数A,B,计算A*B的结果。 Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 1000,A,B >= 0) Output
输出A * B Input示例
123456
234567 Output示例
28958703552 */
import java.math.BigInteger;
import java.util.Scanner; public class pp
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
BigInteger a,b;
a=in.nextBigInteger();
b=in.nextBigInteger();
System.out.println(a.multiply(b));
}
}
大数乘法-4515ms/6000
A=int(raw_input())
B=int(raw_input())
print A*B
py2-2578ms
N的阶乘
/*
输入N求N的阶乘的准确值。 Input
输入N(1 <= N <= 10000) Output
输出N的阶乘 Input示例
5
Output示例
120
*/
import java.math.BigInteger;
import java.util.Scanner; public class pp{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
BigInteger sum=BigInteger.ONE;
int n;
n=in.nextInt();
for(int i=;i<=n;i++)
sum=sum.multiply(BigInteger.valueOf(i));
System.out.println(sum);
}
}
N的阶乘
大数除法+取模
/*
给出2个大整数A,B,计算A / B和A Mod B的结果。 Input
第1行:大数A
第2行:大数B
(A,B的长度 <= 100000,A,B >= 0) Output
第1行:A / B
第2行:A Mod B (A % B) Input示例
987654321
1234 Output示例
800368
209
*/
//2750 ms/4s import java.math.BigInteger;
import java.util.Scanner; public class pp{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
BigInteger a,b;
a=in.nextBigInteger();
b=in.nextBigInteger();
System.out.println(a.divide(b));
System.out.println(a.mod(b));
}
}
大数除法+取模
大数进制转换
/*
给出一个36进制的大数(0-9,A-Z),将其转为10进制并输出。 Input
输入:36进制的大数,每一位用0-9,A-Z来表示,A表示10,Z表示35。(A的长度 <= 100000) Output
输出:该数的10进制表示 Input示例
1AZ Output示例
1691
*/
//3765 ms/3s
import java.io.BufferedInputStream;
import java.math.BigInteger;
import java.util.Scanner; public class Main { static boolean checkeNumber(char a)
{
return a>='0'&&a<='9';
} public static void main(String[] args) {
Scanner cin=new Scanner(new BufferedInputStream(System.in));
String str=cin.next();
BigInteger b=new BigInteger(str,36); System.out.println(b); } }
大数36->10进制
大数开方
package Demo;
/* 现在给你两个数 n 和 p ,让你求出 p的开 n 次方。
输入
每组数据包含两个数n和p。当n和p都为0时表示输入结束。(1<=n<=200,1<=p<=10^101)
输出
对于每个输出对用输出开方后的结果k(结果小于10^9)。 样例输入
2 16
3 27
7 4357186184021382204544 样例输出
4
3
1234
//112ms/300
*/ import java.util.Scanner;
public class Demo{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int n=input.nextInt();
double p=input.nextDouble();
System.out.println(String.format("%.0f", Math.pow(p, 1.0/n)));
}
}
大数开方
大数模板(Java)的更多相关文章
- 大数模板Java
import java.util.*; import java.math.BigInteger; public class Main{ public static void main(String a ...
- 大数模板 poj3982
1. 这个模板不是自己写的,转载的别人转载的,还没学完c++的我,想写也没有那能力. 这个模板我用在了POJ的一道题上,传送门--POJ3982 一般大数的题,都可用这个模板解决,仅仅须要改动主函数就 ...
- Hdu 4762 网络赛 高精度大数模板+概率
注意题目中的这句话he put the strawberries on the cake randomly one by one,第一次选择草莓其实有N个可能,以某一个草莓为开头,然后顺序的随机摆放, ...
- 大数模板 (C ++)
上次BC遇到一个大数题目,没有大数模板和不会使用JAVA的同学们GG了,赛后从队友哪里骗出大数模板.2333333,真的炒鸡nice(就是有点长),贴出来分享一下好辣. //可以处理字符串前导零 #i ...
- HDU 1134 Game of Connections(卡特兰数+大数模板)
题目代号:HDU 1134 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1134 Game of Connections Time Limit: 20 ...
- bignum 大数模板
今天无意间看到一个很好的大数模板,能算加.减.乘.除等基本运算,但操作减法的时候只能大数减小数,也不支持负数,如果是两个负数的话去掉符号相加之后再取反就可以了,一正一负比较绝对值大小,然后相减.我借用 ...
- c++大数模板
自己写的大数模板,参考了小白书上的写法,只是实现了加减乘法,不支持负数,浮点数.. 除法还没写o(╯□╰)o以后再慢慢更吧.. 其实除法我用(xie)的(bu)少(lai),乘法写过fft,这模板还是 ...
- hdu 5429 Geometric Progression(存个大数模板)
Problem Description Determine whether a sequence is a Geometric progression or not. In mathematics, ...
- ACM大数模板(支持正负整数)
之前就保留过简陋的几个用外部数组变量实现的简单大数模板,也没有怎么用过,今天就想着整合封装一下,封装成C++的类,以后需要调用的时候也方便得多. 实现了基本的加减乘除和取模运算的操作符重载,大数除以大 ...
- 【集训笔记】【大数模板】特殊的数 【Catalan数】【HDOJ1133【HDOJ1134【HDOJ1130
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3324 http://blog.csdn.net/xymscau/artic ...
随机推荐
- P2124 奶牛美容
题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 6 16 ................ ..XXXX....XXX... ...XXXX....XX... .XXXX ...
- SPOJ HIGH(生成树计数,高斯消元求行列式)
HIGH - Highways no tags In some countries building highways takes a lot of time... Maybe that's bec ...
- [洛谷P2384]最短路
题目大意:给你一个图,要你求出其中1->n路径中乘积最小的一条路 题解:用$log_2$把乘法变成加法,然后记录每个点的前驱,最后求出答案 C++ Code: #include<cstdi ...
- C++的一些小操作、常用库及函数(持续更新)
1. 强制保留n位小数(位数不足则强制补零) 头文件: #include <iomanip> 在输出前: cout<<setprecision(n); 也有不用头文件的方式,在 ...
- 移动开发:美团外卖Android Lint代码检查实践
概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量.除了Android原生提供的几百个Lint规则,还可以开发自定义L ...
- JavaScript几种数组去掉重复值的方法
数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复.主要是理清思路和考虑下性能.以下方法,网上基本都有,这里只是简单地总结一下. 思路: 遍历数组,一一比较,比较到相同的就删除后面的 遍历数组 ...
- MySQL使用笔记(六)条件数据记录查询
By francis_hao Dec 17,2016 条件数据记录查询 mysql> select field1,field2-- from table_name where 条件; 其中 ...
- c++编辑器下载地址
https://msdn.itellyou.cn/ 输入上述地址选中下图所示的按钮:
- 编程技巧 - malloc()与free()
1.要节省ram资源,可以使用malloc()动态申请内存,使用完再用free()释放掉,free()释放的是指针指向的内存空间,而不是指针. 2.如果某个大数组要在两个函数中使用,可以先定义一个全局 ...
- 入门级:GitHub和Git超超超详细使用教程!
GitHub和Git入门 考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解,我写了一个简单的博客来让大家学会入门使用方法. GitHub的简单使用 第一步 创建GitHub账号 1. 打 ...