1. 程式人生 > >java 大數取模(有可執行程式碼和詳細註解)

java 大數取模(有可執行程式碼和詳細註解)

package dashu;	//這是我的包名字,這個可以按規則任意起

import java.util.*;
import java.math.*;
public class muban{	//這是我的類名字,這個可以按規則任意起

   public static void main(String args[]){
      Scanner cin = new Scanner(System.in);
      BigInteger a, b,c;
      //以檔案EOF結束
      System.out.println("請依次輸入大數 a 和  b 的值:");
      while (cin.hasNext()){
          a = cin.nextBigInteger();
          b = cin.nextBigInteger();
          System.out.println("a = "+a+" ,"+"b = "+b);
          System.out.println("a + b = "+a.add(b)); //大整數的加法
          System.out.println("a - b = "+a.subtract(b)); //大整數的減法
          System.out.println("a * b = "+a.multiply(b)); //大整數的乘法
          System.out.println("a / b = "+a.divide(b)); //大整數的除法(取整)
          System.out.println("a % b = "+a.remainder(b)); //大整數取模

          //兩個大整數的大小比較
          System.out.println("現在比較 a 和   b 的值大小:");
          if( a.compareTo(b) == 0 ) System.out.println("a == b"); //大整數a==b
          else if( a.compareTo(b) > 0 ) System.out.println("a > b"); //大整數a>b
          else if( a.compareTo(b) < 0 ) System.out.println("a < b"); //大整數a<b
          
          //求大整數絕對值
          System.out.println("a 的絕對值是:");
          System.out.println(a.abs()); //大整數a的絕對值

          //求大整數的冪
          System.out.println("a 的平方次冪是:");
          int exponent=2;
          System.out.println(a.pow(exponent)); //大整數a的exponent次冪

          //返回大整數十進位制的字串表示
          System.out.println("把大數 a 轉化為字串輸出是:");
          System.out.println(a.toString()); 

          //返回大整數p進位制的字串表示
          System.out.println("大數 a 的二進位制表示為:");
          int p=2;	//p = 8就是八進位制表示
          System.out.println(a.toString(p));
      }
   }
}

下面是另外一個可以學習的程式碼:

package dashu;

import java.math.BigInteger;
import java.util.Scanner;
public class temp {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請依次輸入大數 a ,判斷是否能夠被50 整除:");
        while(sc.hasNext()){
            BigInteger a = sc.nextBigInteger();
            BigInteger mod = BigInteger.valueOf(50);
            BigInteger ans = a.mod(mod);	//(a非負數,是始終產生非負數)
            ans = a.remainder(mod);		// a 可以是負數
     
            if(ans.equals(BigInteger.ZERO)){	//判斷整除
                System.out.println("a 能被 50 整除 YES");
            }else{
                System.out.println("NO");
            }
        }
        //ans = ans.divide(BigInteger.valueOf(i)); //此處,i 可以是整數
        //ans.mod(BigInteger.valueOf(modd)));  	////此處,modd 可以是整數
    }
}

參考:不好意思,視窗太多,關掉了沒找到,以後定會補上

希望對你有用~

相關推薦

java 大數執行程式碼詳細註解

package dashu; //這是我的包名字,這個可以按規則任意起 import java.util.*; import java.math.*; public class muban{ /

關聯容器:unordered_map詳細介紹執行程式碼

1.介紹 最近使用到一個c++的容器——unordered_map,它是一個關聯容器,內部採用的是hash表結構,擁有快速檢索的功能。 1.1 特性 關聯性:通過key去檢索value,而不是通過絕對地址(和順序容器不同) 無序性:

Java國家統計局統計用區劃程式碼城鄉劃分程式碼

插入速度比較慢,你可以改成查詢到一條資料就插入,或者儲存一個 List 批量插入。 用的 Spring Boot2、MyBatis Plus(Jdbc 都行,隨便你)、Junit5、okhttp、jsoup、dozer(你可以手動賦值,沒幾個屬性)。 總共 69

C++ 原始碼到執行程式碼詳細過程

編譯,編譯程式讀取源程式(字元流),對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編程式碼,再由彙編程式轉換為機器語言,並且按照作業系統對可執行檔案格式的要求連結生成可執行程式。 原始碼-->預處理-->編譯-->優化-->彙編-->

Angular2快速入門-3.多個組件分離新聞列表頁詳細

中新 table ref date 入門 log sta ble row 上篇(Angular2快速入門-2.創建一個新聞列表)已經完成新聞列表的展示,並且點擊新聞列表的時候,下面可以展示出新聞的詳細信息,這節我們把新聞詳細和新聞列表頁面分離出來 新聞詳細單獨一個comp

java%14號

3ds print .... pan word stat ava args smi java取模運算支持類型:字符型(不包括負數),字節型,短整型,整形,長整型,單精度浮點型,雙精度浮點型 java奇偶判斷 用偶數進行判斷 如果用奇數進行判斷會出現以下問題: public

大數Big Number hdu1212

cep bmi asn each one sed alt ner 100% Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota

Java併發程式設計基礎//程序:每個程序都獨立的程式碼和資料空間程序上下文,程序間的切換開銷比較大,一個程序包含1-n個執行緒 //執行緒:同一類執行緒共享程式碼和資料空間,每個執行緒擁有獨立的執行棧程式計

1.實現多執行緒的兩種方式: (1)繼承Thread類; (2)實現Runnable介面 //程序:每個程序都有獨立的程式碼和資料空間(程序上下文),程序間的切換開銷比較大,一個程序包含1-n個執行緒 //執行緒:同一類執行緒共享程式碼和資料空間,每個執行緒擁有獨立的執行

斐波那契數列大數分治演算法

這是演算法課程上完分之策略後老師留的一道題目: 菲波那契數列如下:1,1,2,3,5,8,13,21,34......其中a[1] = 1, a[2] = 1, a[n]=a[n-1]+a[n-2](n>=3)。對給定的下標n,求解a[n]%1997的值. 其中測試資料n是整數範圍內。 這個題目,主要

【轉】斐波那契數列大數分治演算法

此中測試資料n是整數侷限內。 這個題目,主如果用到很關鍵的一個數學常識,斐波那契數列的求法,可以轉換為矩陣的連乘,矩陣的n此方演算法又可以用分治的演算法。 並且又有理論根據:(n*m)%c=[ (n%c)*(m%c) ]%c ; (n+m)%c=[ (n%c)+(m%c) ]%c ,所以過程中的成果可以

hdu1212大數

借鑑別人的思路; 用遞推的思想,就可以總結出下面的公式; 舉例: 12345 9 餘數等於(12340%9+5%9)%9; 而12340 9 (12300%9+40%9)%9; 依次... 最後(10000%9+2000%9)%9; 而10000%9=(1%9*10000)

大數的n次方對m尤拉降冪

博主連結 #include <stdio.h> #include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF = 0x3f3f3f3f; cons

java實現大數

import java.math.*; import java.util.*; public class Main { public static void main(Stri

hdu1212 Big Number &第六屆山東省賽Single Round Math 同餘定理,大數

題目大意:每次輸入兩個數,第一個是高精度,第二個數小於100000;求 a mod b 根據同餘定理: (a+b)% c = (a%c+ b%c)%c (a*b)%c =  ( a%c* b%c)%

pythom爬微信公眾號最新部分文章執行程式碼

執行下面的程式碼需要安裝以下內容: pip install pyquery pip install requests pip install selenium pip install pyExcelerator pip install

golang中如何判斷文件是否執行權限

turn 判斷 pac pri == pre 十進制 golang name 本文介紹在Go語言如何檢查文件的權限。以檢查文件可執行權限為例。 在文件系統中,文件的屬性使用uint32表示。 例如 -rwxrwxrwx 判斷可執行權限,也就是檢查文件mode是否有: --

C語言fmod()函數:對浮點數求余

AS 臺球 TE 有一個 處理 AC pid sam scrip 頭文件:#include <math.h>fmod() 用來對浮點數進行取模(求余),其原型為: double fmod (double x);設返回值為 ret,那麽 x = n * y

【轉】modrem的區別——Matlab學習筆記

學習筆記 ear inf ace 方向 由於 返回 rem pos 昨天在學習Matlab的數學函數時,教程中提到取模(mod)與取余(rem)是不同的,今天在網上具體查了一下: 通常取模運算也叫取余運算,它們返回結果都是余數.rem和mod唯一的區別在於:

POJ 1426 Find The Multiple(大數)【DFS】||【BFS】

++ printf true pty ace bfs 還要 ems 兩種 <題目鏈接> 題目大意: 給一個小於200的正整數n,問只有0和1組成的位數小於100的最小能被n整除的數是多少。 解題分析: 用DFS或者BFS沿著位數進行搜索,每一次搜索到下一位都有兩

將Maven工程匯出war包匯出執行檔案 war包的安裝與部署以兩個Tomcat為例,詳細請到:

1  開啟war工程的pom.xml,將如下內容複製到配置Tomcat的程式碼中                 &l