java兩個大數字相乘(大數相乘演算法 java)

本文目錄一覽:

Java中有什麼方法能使大於long 的兩個數相乘???

建議自己寫一個乘法函數去處理,採用字元數組存儲你輸入的要計算的兩個數,結果也以字元數組給出。具體的計算可以按照它們的ASCII碼進行計算,按10進位乘法規則,自己寫一個函數。以前寫過。

JAVA 兩個數相乘怎麼寫?

public class Day25B {

public static void main(String[] args) {

baiint[] arr1=new int[5],arr2=new int[5],result=new int[5];

for (int i = 0; i result.length; i++) {

arr1[i]=(int)Math.round(Math.random()*40+10);

arr2[i]=(int)Math.round(Math.random()*40+10);

result[i]=arr1[i]*arr2[i];

System.out.println("索引\tarr1\tarr2\tresult");

for (int i = 0; i result.length; i++) {

System.out.println(i+"\t"+arr1[i]+"   x   "+arr2[i]+"   =\t"+result[i]);

擴展資料:

javap 類文件反彙編器數據類型boolean 布爾型

byte 位元組型

char 字元型

short 短整型

int 整形

long 長整形

float 單精度浮點型

double 雙精度浮點型class 類null 空類型

interface 介面

如何在JAVA中,輸入兩個很大的數字使他們相乘後,得到正確結果結果?

像LZ說的這種計算在實際應用中是常用的.特別是在加密、解密過程中。這個問題的本身就是一個很大的課題。單純用傳統的方式會由於溢出而導致計算結果不正確。目前,針對這一應用,市面上、開源軟體中都有一些針對這種運算的函數數,稱作大數運算庫。我們如果只是為了寫應用,而不研究數值計算的話,直接採用這些庫就行了。具體的大數運算的庫可以上網搜一下。提供一個大數運算的示常式序:

java兩個大整數相乘的 演算法怎麼寫

有BigInteger這個類,你可以參數,如果需要自己寫,應該是用字元串來處理。

import java.math.BigInteger;

public class TT {

public static void main(String[] args) {

BigInteger i1 = new BigInteger(“122222222222222222222222222222222”);

BigInteger i2 = new BigInteger(“33333333333333333333333333333333”);

BigInteger result = i1.multiply(i2);

System.out.println(result.toString());

}

}

java求兩個1000位數的乘積

給你一個思路,具體實現自己完成

你可以定義兩個1000長度的數組a,b來存這兩個乘數

然後定義一個2001長度的數組c來存儲這個結果。

for(int i=0;i1000;i++){

for(int j=0;j1000;j++){

c[i+j+1]=(a[j]*b[i])/10;

c[i+j]=c[i+j]+(a[j]*b[i])%10;

c[i+j+1]=c[i+j]/10;

c[i+j]=c[i+j]%10;

}

}

for(int k=2001;k=0;k–){

System.out.print(c[k]);

}

上面是大概的思路,記住c[]在使用之間每個元素都要賦值為0

c[i+j+1]=(a[j]*b[i])/10;表示a的j位與b的i位相乘的十位上的數字存到c對應的上一位表示進位

c[i+j]=c[i+j]+(a[j]+b[i])%10;c[i+j]可能有下面進位上來的,在加上a的j位與b的i位相乘的個位上的數字就是此時c對位位置上的得數

c[i+j+1]=c[i+j]/10;c[i+j]=c[i+j]%10;

為了防止c在上一步[c[i+j]=c[i+j]+(a[j]+b[i])%10;]後又發生了進位,所以在執行此步

for(int k=2001;k=0;k–){

System.out.print(c[k]);

}

表示從高位依次列印出此數

自己想辦法不顯示高位為0的情況

大體思路就是如此

具體細節自己進行優化

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/227629.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-09 16:31
下一篇 2024-12-09 16:31

相關推薦

  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python循環符合要求數字求和

    這篇文章將詳細介紹如何通過Python循環符合要求數字求和。如果你想用Python求和但又不想手動輸入數字,那麼本文將是一個不錯的選擇。 一、使用while循環實現求和 sum =…

    編程 2025-04-29
  • 利用Python實現兩個鏈表合併為一個有序鏈表

    對於開發工程師來說,實現兩個鏈表合併為一個有序鏈表是必須掌握的技能之一。Python語言在鏈表處理上非常便利,本文將從多個方面詳細闡述如何利用Python實現兩個鏈表合併為一個有序…

    編程 2025-04-29
  • Python實現爬樓梯演算法

    本文介紹使用Python實現爬樓梯演算法,該演算法用於計算一個人爬n級樓梯有多少種不同的方法。 有一樓梯,小明可以一次走一步、兩步或三步。請問小明爬上第 n 級樓梯有多少種不同的爬樓梯…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • Harris角點檢測演算法原理與實現

    本文將從多個方面對Harris角點檢測演算法進行詳細的闡述,包括演算法原理、實現步驟、代碼實現等。 一、Harris角點檢測演算法原理 Harris角點檢測演算法是一種經典的計算機視覺演算法…

    編程 2025-04-29
  • 數據結構與演算法基礎青島大學PPT解析

    本文將從多個方面對數據結構與演算法基礎青島大學PPT進行詳細的闡述,包括數據類型、集合類型、排序演算法、字元串匹配和動態規劃等內容。通過對這些內容的解析,讀者可以更好地了解數據結構與算…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • 瘦臉演算法 Python 原理與實現

    本文將從多個方面詳細闡述瘦臉演算法 Python 實現的原理和方法,包括該演算法的意義、流程、代碼實現、優化等內容。 一、演算法意義 隨著科技的發展,瘦臉演算法已經成為了人們修圖中不可缺少…

    編程 2025-04-29
  • Python數字求和怎麼寫

    在Python中實現數字求和非常簡單,下面將從多個方面對Python數字求和的實現方法做詳細的闡述。 一、直接使用「+」符號進行求和 a = 10 b = 20 c = a + b…

    編程 2025-04-29

發表回復

登錄後才能評論