洛谷P2181 对角线题目 Java解题
2022/2/5 1:16:42
本文主要是介绍洛谷P2181 对角线题目 Java解题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目描述:
输入格式和数据大小:
题解:
一条边是由2个顶点组成,每个交点需要2条边,即需要4个顶点组成一个交点,所以问题转化为计算n个顶点中有多少个4个顶点的组合。使用组合公式即可求出,此时可以化简组合公式为n * (n-1) / 2 * (n-2) / 3 * (n-3) / 4 ,但数据使用int类型范围过小,使用long也会出现部分数据不通过的情况,所以使用麻烦的BigInteger。
BigInteger不是基本数据类型,所以加减乘除不能使用+、-、*、/这些运算符号,而是使用add()、subtract()、mutiply()、divide()这四种方法代替。
代码如下:
import java.math.BigInteger; import java.util.Scanner; // P2181 对角线 public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); BigInteger n = scanner.nextBigInteger(); scanner.close(); BigInteger number1 = new BigInteger("1"); BigInteger number2 = new BigInteger("2"); BigInteger number3 = new BigInteger("3"); BigInteger number4 = new BigInteger("4"); n = n. multiply(n.subtract(number1)).divide(number2). multiply(n.subtract(number2)).divide(number3). multiply(n.subtract(number3)).divide(number4); System.out.println(n); } }
这篇关于洛谷P2181 对角线题目 Java解题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?