對於大數算術問題,最好使用陣列,而不是使用 STL

發布 科技 2024-06-16
14個回答
  1. 匿名使用者2024-01-29

    最多可以安裝 16 位計算機。

    例如,C++ 的 long long 可以容納 -(2 63-1) 到 (2 63-1) 範圍內的 20 位整數。

    這太簡單了。

    當然,高精度可以作為最後的手段。

    加法。 #include

    using namespace std;

    int a[101]=,b[101]=,i;

    void getin(int a)

    string s;

    cin>>s;

    a[0]=;

    for(i=1;i<=a[0];i++)

    a[i]=s[a[0]-i]-'0';

    return;

    void print(int a)

    if(a[0]==0),b[101]=,c[201]=,i,j;

    void getin(int a)

    string s;

    cin>>s;

    a[0]=;

    for(i=1;i<=a[0];i++)

    a[i]=s[a[0]-i]-'0';

    return;

    void print(int c)

    if(c[0]==0){cout<<0<0;i--)cout<0&&c[c[0]]==0)c[0]--

    int main()

    getin(a);

    getin(b);

    chenggao(a,b,c);

    print(c);

    return 0;

  2. 匿名使用者2024-01-28

    大數的乘法: 引數: *x 表示第乙個大數,位數不限,size1 表示第乙個大數的長度,*y 表示第二個大數,size2 表示長度。

    呼叫方法:(用小數測試,證明輸出正確,大數肯定不會錯。 )

    int i = ;代表 25

    int j = ;代表 25

    multy(i, 2, j, 2);程式輸出 0 6 2 5

    void multi(int *x, int size1, int *y, int size2){

    int size = size1 + size2;

    int *result = new int[size];

    memset(result, 0, sizeof(int) *size);

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

    result[i+1] += result[i]/10;

    result[i] %= 10;

    for( i=size-1; i>=0; i--)

    cout “沒有做符號位處理...... 但是,將符號位相乘應該很容易。

    這是之前寫的一段,直接貼上。

    大數的相加比乘法更簡單。 我懶得自己寫,LZ看到應該有想法吧?

  3. 匿名使用者2024-01-27

    如果在 300 位以內不是很大,則可以使用基於筆的算術演算法。 使用陣列來儲存大量數字。

  4. 匿名使用者2024-01-26

    假設位 A 100 和位 B 分別儲存在陣列 m 和 n 中。 (當位數不同時,小數用零填充)。

    1.新增時,從低位新增和攜帶。

    2、減法時,重高開始比較大小,然後從低位開始減去借用3,乘法時,低位乘以位進行承載。

    4、除法時,用模運算求整數商,小數部分減半減半,也可以先把直點的方法換成二進位,再用補碼運算。

  5. 匿名使用者2024-01-25

    Fortran 是科學計算的最佳語言。 專為科學計算而設計。 Fortran 90 的內建操作陣列命令允許您執行需要使用其他語言進行多次迭代的任務。

    Fortran + IMSL 數學庫 + Unix 伺服器,可實現最高效率和最快的計算。

    你說它經常涉及到科學計算、工程計算、數理統計、線性代數、高等數學等等,那麼fortran最適合你,買乙個清華演算法程式或者視覺fortran常用的數值計算集,估計你需要的已經包括進去了。 這兩本書在西單出售。

    現在世界上最好的計算機上正在執行什麼程式? 這是日本地球實驗室計畫,由Fortran編寫。

    Visual Basic Visual C 就是所謂的語言,它純粹是學習乙個軟體。

    C++設計系統的程式不錯,但數學計算不如Fortran。 我校的BBS有個好人,專門測試了fortran的速度,c++,c計算,無一例外fortran是最快的,效率最高的,也是最短的。

    SQL:我認為它不適合科學計算。

    VFP 已經死了,它本來就不應該被計算出來。

    至於有些人對MATLAB的評價,這是一家公司的產品,這令人困惑。 我真的看不出有什麼值得從無法編譯的軟體中學習的東西(事實上,解釋)。

    我會經常去百度的Fortran,如果我有問題,我會繼續討論。

  6. 匿名使用者2024-01-24

    你有多大? 虛擬記憶體有多大? 是免費分配位址嗎?

  7. 匿名使用者2024-01-23

    表示陣列中的大數意味著陣列的每個成員僅表示大數中的乙個人。

    例如,陣列 int a[100] 表示:123456789a[0] 為符號位,值為 1 為正數,值 -1 為負數(該值可自行定義) a[1]=1;

    a[2]=2;

    a[3]=3;~~a[9]=9;

    最後,定義乙個結束位 a[10]=-999; (-999 是結束的標誌,可以自己定義)。

    如果要對大數進行操作,則需要重寫四個操作規則。

    重寫加法和減法更簡單,而乘法和除法更複雜,需要花費大量時間進行設計。

    一般來說,儲存使用字串陣列,例如 char a[100],在操作過程中將其轉換為 int a[100] 的數字陣列。 100 是陣列的長度,大數的長度必須在 100-2 的範圍內。

    以便能夠正確地表示它。 陣列的長度由您自己定義。

  8. 匿名使用者2024-01-22

    你想要乙個大數字模板嗎?

    +, ,, 的任意精度整數可以實現

    加法的原理是每 6 變成 1,陣列中的每個值儲存乙個五位數的整數。

  9. 匿名使用者2024-01-21

    include define maxn 1000000 int array maxn int main() 就是這樣。 希望能領養!

  10. 匿名使用者2024-01-20

    陣列的解決方案如下:

    #include

    int main(void)

    printf("最大數量為:%f,最小數量為:%f",fmax,fmin);

    不帶陣列的解決方案如下:

    #include

    int main(void)

    printf("最大數量為:%f,最小數量為:%f",fmax,fmin);

    注意標題,它沒有說“整數”,所以需要使用浮點型,可以輸入小數。

  11. 匿名使用者2024-01-19

    這是乙個可用於新增大整數的程式:

    #include

    #include

    #include

    void main()

    r=d+s;

    if(*(p+1)+*q+1)-'0'>'9')*r+=1;

    if(p>=str1)

    if(q>=str2)

    while(*r=='0')

    r++;printf("結果是:");

    while(*r!='\0')

    printf("%c",*(r++)

    printf("");}

  12. 匿名使用者2024-01-18

    可以用陣列組成。

    我們都知道,int、float、double 的精度和可用範圍都是有限的,對於大數的減法,總會有溢位。

    所以對於大數的減法,人們認為你可以用陣列來做。 例如,定義乙個陣列 a[100]; a[1] 用於儲存個位數,a[2] 用於儲存數十位數字,依此類推。

    如果 a[i] 的值大於或等於 10,則設 a[i+1]++a[i]-10 執行。

    列印時,只需使用 for 語句,然後調整輸出格式即可。

  13. 匿名使用者2024-01-17

    請提供您的電子郵件位址。 我有 C 語言對大整數進行運算所需的文件。

  14. 匿名使用者2024-01-16

    是的,您可以檢視 long 和 int 型別表示的範圍,而超出範圍的數字根本無法表示。

相關回答
14個回答2024-06-16

這是乙個方法宣告,公共的、靜態的,並且沒有名為 enumconnections 的方法的返回值,並且傳入的引數是 **。

5個回答2024-06-16

總結。 首先,通過將個人遺傳資料與健康對照進行比較來發現差異(通常是突變); 其次,根據現有知識解釋這些突變。 現有的知識可以通過多種方式獲得,如分子實驗驗證、文獻閱讀、文字挖掘、公共資料庫、**等。 >>>More

22個回答2024-06-16

int count=0;

count++;自加法的結果被賦值給 count,所以它是 count 的值變化,你輸出 count++ >>>More

10個回答2024-06-16

你怎麼知道裡面的問題?

1.首先,您必須有乙個帳戶: >>>More