91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中BigInteger的常見函數及用法

發布時間:2021-09-13 15:51:32 來源:億速云 閱讀:145 作者:chen 欄目:開發技術

本篇內容主要講解“Java中BigInteger的常見函數及用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java中BigInteger的常見函數及用法”吧!

一、BigInteger介紹

如果在操作的時候一個整型數據已經超過了整數的最大類型長度 long 的話,則此數據就無法裝入,所以,此時要使用 BigInteger 類進行操作。這些大數都會以字符串的形式傳入。

BigInteger 相比 Integer 的確可以用 big 來形容。它是用于科學計算,Integer 只能容納一個 int,所以,最大值也就是 2 的 31 次訪減去 1,十進制為 2147483647。但是,如果需要計算更大的數,31 位顯然是不夠用的,那么,此時 BigInteger 就能滿足我們的需求了。

BigInteger 能夠容納的位數那可就大了,我簡單試了一下,上千位沒有任何問題。除了容量大之外,BigInteger 還封裝了一些常見的操作,比如 ±*/ 的基本操作,還有絕對值,相反數,最大公約數,是否是質數等等的運算。

二、BigInteger常見函數

  • BigInteger(String value):構造方法,

  • BigInteger add(BigInteger value):加法,

  • BigInteger subtract(BigInteger value):減法,

  • BigInteger multiply(BigInteger value):乘法,

  • BigInteger divide(BigInteger divisor):除法,

  • BigInteger modInverse(BigInteger m):求模,

  • BigInteger pow(int exponent):乘方,

  • BigInteger max(BigInteger value):最大數,

  • BigInteger min(BigInteger value):最小數,

  • BigInteger abs():絕對值,

  • BigInteger negate():相反數,

  • int intValue():轉化int,將BigInteger類型數據轉為int。

  • BigInteger valueOf(long val):轉為BigInteger,將long類型轉為BigIntege類型

示例代碼

【題目】

輸入一個整數 n 1<n<10^9
輸出一個整數
找出其所有非空子集中所有元素個數之和,然后對 10^9+7 取模,輸出結果
例如輸入 2,有 {1},{2},{1,2} 3 個非空子集,所有元素個數之和為 4
輸出結果為 4

思路

用 int 肯定會超,需要用到 BigInteger
對于輸入 n,求得所有元素之和為 n*2^(n-1)
然后再對 10^7+7 取模即可

import java.math.BigInteger;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String n = sc.next();
        BigInteger res = count(new BigInteger(n));
        BigInteger m = BigInteger.valueOf(10).pow(7).add(BigInteger.valueOf(7));
        System.out.println(res.mod(m));;
    }

    // 計算公式 n*2^(n-1)
    static BigInteger count(BigInteger n) {
        return n.multiply(BigInteger.valueOf(2).pow(n.intValue()-1));
    }
}

到此,相信大家對“Java中BigInteger的常見函數及用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

周宁县| 乌恰县| 本溪市| 澎湖县| 民权县| 福泉市| 龙陵县| 增城市| 东乡县| 游戏| 桃源县| 齐齐哈尔市| 莱西市| 三都| 新沂市| 毕节市| 武清区| 庆云县| 宣汉县| 湾仔区| 扶余县| 永清县| 高邮市| 京山县| 中卫市| 宜兰县| 临城县| 天津市| 乌审旗| 迁安市| 浪卡子县| 新和县| 青川县| 星子县| 鄂伦春自治旗| 合水县| 青田县| 商洛市| 乐昌市| 苏尼特左旗| 嘉义市|