Re: [問題] 計算N!程式 大數
※ 引述《s86279 (Charlie)》之銘言:
: LINUX平台C語言
: 我要寫一支計算N階的程式
: 但是要計算到40階
: 該怎麼處理溢位的問題??
: 麻煩幫幫我的忙 感恩
#include <stdlib.h>
#include <openssl/bn.h>
int main(int argc, char** argv) {
BIGNUM * a = BN_new();
BIGNUM * b = BN_new();
BIGNUM * result = BN_new();
BN_CTX * ctx = BN_CTX_new();
BN_dec2bn(&a,"1");
BN_dec2bn(&b,"1");
BN_dec2bn(&result,"1");
for(int i=0;i<=1000;i++){
BN_mul(result,result,b,ctx);
BN_add(b,b,a);
if(i%100==0){
printf("%d: %s\n",i,BN_bn2dec(result));
}
}
BN_free(a);
BN_free(b);
BN_free(result);
BN_CTX_free(ctx);
return (EXIT_SUCCESS);
}
http://www.slproweb.com/products/Win32OpenSSL.html
http://www.openssl.org/docs/crypto/bn.html
gcc -lssl -lcrypto -lz
這種東西自己寫實在太累了...
反正openssl也很多人在用...檔案也不大,而且你用linux也有內建了...
--
2009年 愛滋感染人數統計 異性性行為女 42 異性性行為男 273 同性性行為男 895
台灣2005年起實施孕婦非強迫愛滋篩檢,2008年起強制新生兒篩檢。
每年有約1%的孕婦接受篩檢,每年有大於1%的異性性行為者接受篩檢。
同性戀人口雖然只佔5%-10%,但是因為接受篩檢的比例是異性戀 1%的好幾好幾倍
所以陽性的人口數才會看起來好像比較多 詳情請看ptt.cc L_BoyMeetsGi 版
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.28.219
推
05/18 15:56, , 1F
05/18 15:56, 1F
推
05/18 16:21, , 2F
05/18 16:21, 2F
推
05/18 18:07, , 3F
05/18 18:07, 3F
推
05/18 18:08, , 4F
05/18 18:08, 4F
※ 編輯: jlovet 來自: 211.74.186.91 (05/18 23:11)
推
05/18 23:11, , 5F
05/18 23:11, 5F
推
05/19 16:47, , 6F
05/19 16:47, 6F