掷了n次硬币,如果这n次硬币全部朝上或者全部朝下的概率是多少?(每次掷硬币朝上的概率与朝下的概率相同)
1
"1.00"
概率为1,四舍五入保留两位小数的字符串为"1.00"
5
"0.06"
概率为0.0625,四舍五入保留两位小数的字符串为"0.06"
对于的数据:
对于的数据:对于每个n,返回一个严格四舍五入保留两位小数的字符串。比如概率为0.372的话,返回字符串"0.37"。概率为0.957的话,返回字符串"0.96"。(注意,返回的字符串不带引号)
class Solution: def Probability(self , n ): # write code here if n >= 1000: return '0.00' def qpow(x,y): ans = 1 while y: if y & 1: ans *= x y //= 2 x *= x return ans eps = 1e-7 return str(format(2 / qpow(2,n) + eps,'.2f'))
class Solution { public: /** * 返回一个严格四舍五入保留两位小数的字符串 * @param n int整型 n * @return string字符串 */ string Probability(int n) { // write code here if(n == 1){ return "1.00"; } int m = pow(0.5, n) * 2000; if(m % 10 >= 5){ m = m / 10 + 1; } else{ m = m / 10; } string res = "0.00"; if(m < 10){ res[3] = m + '0'; } else{ res[3] = m % 10 + '0'; m /= 10; res[2] = m + '0'; } return res; } };