蓝桥杯杨辉三角

PREV-282 杨辉三角形【第十二届】【蓝桥杯省赛】【B组】

(二分查找 + 递推):

解析:

1.杨辉三角具有对称性:

2.杨辉三角具有一定规律

通过观察发现,第一次出现的地方一定在左部靠右的位置,所以从后往前进行查找

代码:

cpp 复制代码
#include <iostream>
#include <algorithm>

using namespace std;

typedef long long LL;
LL n;
LL C(int a, int b)
{
	LL res = 1;
	for (int i = 1, j = a; i <= b; i ++, j --)
	{
		 res = res * j / i;
		 if (res > n)
			return res;
	}
	return res;
}

//检查第k斜行
bool check(int k)
{
	LL l = 2 * k, r = max(n, l);
	while (l < r)
	{
		LL mid = (l + r) / 2;
	  	if (C(mid, k) >= n) r = mid;
	  	else l = mid + 1;
	} 
	if (C(l, k) != n) return false;
	else
	{
		//k是行数
		LL res = (l + 1) * l / 2 + k + 1;
		printf("%lld\n", res);
		return true;
	}
}
int main()
{
	cin >> n;
	for (int i = 16;; i --)
		if (check(i))
			break;
			
	return 0;
}

相关推荐
say_fall6 分钟前
位运算底层逻辑与解题应用绪论
c++·学习·算法·leetcode·职场和发展
nglff36 分钟前
蓝桥杯抱佛脚第二天|简单枚举,前缀和
算法·职场和发展·蓝桥杯
2301_8008951039 分钟前
2024蓝桥杯B组初赛--备战蓝桥杯版h
蓝桥杯
小年糕是糕手1 小时前
【35天从0开始备战蓝桥杯 -- 刷题包】
c语言·jvm·数据结构·c++·算法·蓝桥杯
Elias不吃糖1 小时前
LeetCode-44 回溯解法
算法·leetcode·职场和发展
仟濹1 小时前
【算法打卡day25(2026-03-17 周二)今日算法:「回溯算法」】1-力扣17-电话号码的字母组合 2-力扣39-组合总和 3-力扣40-组合总和II
算法·leetcode·职场和发展
2301_800895102 小时前
2023蓝桥杯B组初赛--备战蓝桥杯版h
职场和发展·蓝桥杯
独自破碎E2 小时前
【面试真题拆解】Java文件操作的异常类型与受检_非受检异常
java·面试·职场和发展
小年糕是糕手2 小时前
【35天从0开始备战蓝桥杯 -- 补充包】
开发语言·前端·数据结构·数据库·c++·算法·蓝桥杯
程序员小远12 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例