uva748 高精度 浮點數冪

2021-06-17 18:15:10 字數 1338 閱讀 2054

題意: 輸入乙個小數底,跟乙個整數指數。輸出冪。

思路:題目要注意輸入的時候 要去掉前導零; 記錄小數點位數(strchr()函式);

演算法複雜度:o(n^2)n是底數字數。

**:

#include #include using namespace std;

#define max_n 2000

void todigitreverse(char *, int *);

void topow(int *, int, int, int *rslt);

void outputrslt(int *, int);

void tomultiply(int *, int, int *, int);

int main()

radixp = strchr(strr, '.');

radixnum = strlen(radixp + 1);

radixnum = radixnum * n;

// delete radix

*radixp = '\0';

radixp++;

if (strr[0] == '0') else

lenr = strlen(strr);

// to digit

todigitreverse(strr, digitr);

// to pow

topow(digitr, lenr, n, rslt);

// to output

outputrslt(rslt, radixnum);

// end a cases

} return 0;

}void todigitreverse(char *strr, int *digitr)

}void topow(int *digitr, int lenr, int n, int *rslt)

n--;

for (int i = 0; i < n; i++)

}void outputrslt(int *rslt, int radixnum)

radixnum--; // index of rslt is from 0 1 2

while (tail > radixnum)

printf(".");

while (tail >= 0)

printf("\n");

}void tomultiply(int *rslt, int lenrslt, int *digitr, int lenr)

} int ans = 0;

for (int i = 0; i < max_n; i++)

}

2951 浮點數求高精度冪

1.將浮點數,記錄小數點位置,並去除小數點變成整數 例如99.99 9999,小數點位置 2 2.使用快速冪演算法 計算整數的冪 void mul int a,int b memcpy a,c,sizeof c main 3.處理結果,將小數點放進去 無小數點 j 0 int count 0 記錄小...

js高精度浮點數運算

貼 自定義高精度浮點數運算 物件格式寫法 var float calculator catch e m math.pow 10,math.max r1,r2 計算因子 return arg1 m arg2 m m minus function arg1,arg2 mul function arg1,...

PHP 浮點數高精度運算

記錄下,工作中遇到的坑 關於 php 浮點數運算,特別是金融行業 電子商務訂單管理 資料包表等相關業務,利用浮點數進行加減乘除時,稍不留神運算結果就會出現偏差,輕則損失幾十萬,重則會有信譽損失,甚至吃上官司,我們一定要引起高度重視!加 a 0.1 b 0.7 c intval a b 10 echo...