題意: 輸入乙個小數底,跟乙個整數指數。輸出冪。
思路:題目要注意輸入的時候 要去掉前導零; 記錄小數點位數(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...