#番外 vol.01 东东的复习小课堂

//cin的省时算法
      ios_base::sync_with_stdio(false);
      cin.tie(0);
      cout.tie(0);
//向右二分————复习
//相同可取值取最右边的那个
//但是最右边的hi无法判定,所以hi一般取最右边元素下标+1
while(lo < hi){
      int mid = (lo + hi) / 2;
      if(a[mid] > target)
            hi = mid;
      else
            lo = mid + 1;
}
//阶乘
int recurrence(int num) {
      if (num <= 1)   //注意num==0的情况
            return 1;
      else
            return num * recurrence(num - 1);
}
//组合数
//由于数论的原理,不用担心ans运算时会除不尽
int comb(int n, int m)
{
	int ans = 1, i;
	for(i = 0; i < m; i ++)
		ans = ans * (n-i) / (i+1);
	return ans;
}
posted @ 2020-10-27 22:05  Cinxar  阅读(86)  评论(0)    收藏  举报