n只螞蟻從正n邊形的n個定點沿著邊移動,速度是相同的,問它們碰頭的概率是多少?
給定乙個正整數n,請返回乙個陣列,其中兩個元素分別為結果的分子和分母,請化為最簡分數。
測試樣例:
3
返回:[3,4]
因為是正n邊型,所以所有的點的路程相同。他們的速度又是相同的。從總情況來說,乙個結點有兩種選擇,那麼n個結點就是 2^n種
沒有碰頭情況則是所有結點同時順時針,或者逆時針走。
class antsint m = tem - 2;
int t = gcm (tem,m);
vectorresult;
result.push_back(m/t);
result.push_back(tem/t);
return result;
}int gcm(int n ,int m)
return m;
}};
給定乙個等概率隨機產生1~5的隨機函式,除此之外,不能使用任何額外的隨機機制,請實現等概率隨機產生1~7的隨機函式。(給定乙個可呼叫的random5::random()方法,可以等概率地隨機產生1~5的隨機函式)
class random5 ;class random7
// 以上內容請不要修改
int randomnumber()
int result = num %7;//隨機生成0-6
return result +1;//隨機生成1-7
}};
給定乙個以p概率產生0,以1-p概率產生1的隨機函式randomp::f(),p是固定的值,但你並不知道是多少。除此之外也不能使用任何額外的隨機機制,請用randomp::f()實現等概率隨機產生0和1的隨機函式。
我是參考的答案
個人的理解是,將大概率1或者0 的情況通過 a== b 過濾掉,那麼剩餘的就是等可能概率的那部分
class randomp ;class random01
}return 0;
}};
牛客網演算法學習記錄 排序
對於乙個int陣列,請編寫乙個氣泡排序演算法,對陣列元素排序。給定乙個int陣列a及陣列的大小n,請返回排序後的陣列。測試樣例 1,2,3,5,2,3 6 1,2,2,3,3,5 測試用例子只有正數。公升序 氣泡排序 比較簡單,主要就是注意排序時陣列的邊界。for int i 0 ia j 1 re...
牛客演算法學習2
title 牛客演算法學習2 date 2019 07 28 19 34 47 categories 在實現棧的基本功能的基礎上,再實現返 回棧中最小元素的操作。1 pop push getmin操作的時間複雜度都是o 1 2 設計的棧型別可以使用現成的棧結構 用棧實現佇列 因為棧是先進後出的,假設...
牛客網演算法學習筆記 排列組合
在xxy的方格中,以左上角格仔為起點,右下角格仔為終點,每次只能向下走或者向右走,請問一共有多少種不同的走法 給定兩個正整數int x,int y,請返回走法數目。保證x y小於等於12。測試樣例 2,2返回 2橫向要走x 1步,縱向要走y 1步,總共需要走,x y 2步,其中有x 1橫向。ccla...