用c語言編寫大整數的四則運算求大神

時間 2021-12-23 23:41:38

1樓:匿名使用者

你可以找一下加密庫的原始檔來研究下,裡面就有大數四則運算,曾經試著寫2048位的大數四則運算,結果就寫了加法,減法,和簡單的沒有優化的乘法就沒信心寫了。。。大數是用陣列表示的,沒有用結構體,複製來的,不知能不能執行。。

#define max 400

void my_read(int *a)

else

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

}if (flag)

a[0]=-(len-1);

else

a[0]=len;

break;

}return;

}void my_print(int *a)for(i=abs(a[0]);i>=1;i--)printf("%d",a[i]);

printf("\n");

}void format(int *a)

if (p>=a[0]) a[0]=p;

return;

}void add(int *a,int *b,int *c)else}}

format1(int *a)

}void sub_1(int *a,int *b,int *c)void sub(int *a,int *b,int *c)if (flag==0)

flag=0;

if (a[0]==b[0])

if (a[i]b[0])

sub_1(a,b,c);

else

if (a[0]0 && b[0]<0)

if (a[0]>0 && b[0]>0)if (a[0]<0 && b[0]>0)c:printf("\n\t\t\t");

printf("a=");

my_print(a);

printf("\n\t\t\t");

printf("b=");

my_print(b);

printf("\n\t\t\t");

printf("c=a+b=");

my_print(c);

goto loop;

}if (yn=='2')

if (a[0]<0 && b[0]>0)if (a[0]>0 && b[0]<0)if (a[0]>0 && b[0]>0) sub(a,b,c);

printf("a=");

my_print(a);

printf("\nb=");

my_print(b);

printf("\nc=a-b=");

my_print(c);

goto loop;

}if (yn=='3')

if (a[0]>0 && b[0]<0)if (a[0]<0 && b[0]<0)matiply(a,b,c);

d:printf("\n\t\t\ta=");

my_print(a);

printf("\n\t\t\tb=");

my_print(b);

printf("\n\t\t\tc=a*b=");

my_print(c);

goto loop;

}loop:

while(1)}

2樓:匿名使用者

思路:實現大數的比較

實現大數的加1操作

實現大數的減1操作

加法:a+b=(a+1) + (b-1),按照此原則遞迴直到b-1為0

減法:a-b=(a-1) - (b-1),按照此原則遞迴直到b-1為0

乘法:a*b=a+a*(b-1),按照此原則遞迴直到b-1為0除法:a/b=1 + (a-b)/b,按照此原則遞迴直到 (a-b) < b

3樓:尼瑪真響亮

用結構體來表示大數,理論上是不限制的。

吧相應的進位做好就ok

要求用c語言編寫程式實現大整數的四則運算(加、減、乘、除) 20

4樓:匿名使用者

如果只是實現(加、減、乘、除)那麼,直接用文字檔案儲存就好,雖然效率略低,但可以保證精確度。

直接按照小學教的加減乘除原理,逐位進行計算,保證無線精確(記憶體不夠大、cpu不夠快不算)。 這個我就能做。

5樓:匿名使用者

學習c語言就去敗筆網路安全小組

6樓:豬頭或火寶寶

俺用c語言編的,但是用棧實現的!!!

7樓:鬼angel鬼

很感興趣 可是不會 支援你

導數的四則運演算法則

隨便什麼名啦啦 1 u v u v 2 u v u v 3 uv u v uv 4 u v u v uv v 2如果函式y f x 在開區間內每一點都可導,就稱函式f x 在區間內可導。這時函式y f x 對於區間內的每一個確定的x值,都對應著一個確定的導數值,這就構成一個新的函式,稱這個函式為原來...

含分數整數小數和百分數的四則混合運算,求

1.125 3 125 5 25 3 25 2.9999 3 101 11 101 92 3.23 4 3 4 3 6 2 4.3 7 49 9 4 3 5.8 9 15 36 1 27 6.12 5 6 2 9 3 7.8 5 4 1 4 8.6 3 8 3 8 6 9.4 7 5 9 3 7 5...

C 製作簡單四則運算計算器,DX來幫個忙

滄海v飛天 whlie true n 指定輸出的精確度為 n.普通的字串在此之後則被截斷 如果精確度 n 大於欄位長度,則欄位長度變為精確度 n 則使用精確度指定縱列的總數 如果不指定精確度,則 會自動計算最適合的輸出結果 精確度對於其他的資料型別無效.n n 指定 fs 和精確度,如果 n 是 0...