当前位置: 首页 > news >正文

做网站的是什么职业网站后台密码如何破解

做网站的是什么职业,网站后台密码如何破解,店铺推广渠道,小说网站建设方案书文章目录[蓝桥杯 2021 省 B] 杨辉三角形题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路:全部代码:[蓝桥杯 2021 省 B] 杨辉三角形 题目描述 下面的图形是著名的杨辉三角形: 如果我们按从上到下、从左到右的顺序把所有数排成一列&…

文章目录

  • [蓝桥杯 2021 省 B] 杨辉三角形
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 提示
      • 思路:
      • 全部代码:

[蓝桥杯 2021 省 B] 杨辉三角形

题目描述

下面的图形是著名的杨辉三角形:

如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列:

1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,…1,1,1,1,2,1,1,3,3,1,1,4,6,4,1, \ldots1,1,1,1,2,1,1,3,3,1,1,4,6,4,1,

给定一个正整数 NNN,请你输出数列中第一次出现 NNN 是在第几个数。

输入格式

输入一个整数 NNN

输出格式

输出一个整数代表答案。

样例 #1

样例输入 #1

6

样例输出 #1

13

提示

对于 20%20 \%20% 的评测用例, 1≤N≤101 \leq N \leq 101N10;

对于所有评测用例, 1≤N≤1091 \leq N \leq 10^91N109

蓝桥杯 2021 第一轮省赛 B 组 H 题。

思路:

1·以斜着看,首先我们可以从中间把这个三角形劈成两半,因为左右对称,留左半。左半有了肯定就是最先出现的
在这里插入图片描述

2.看图,第一行得数都是C(0,N)第二行都是C(1,N)第三行都是C(2,N)以此类推第i行就是C(i,N),也就是说每一行的数都可以用组合数来表示大小,需要有一个求组合数的函数:

//求组合数
long long C(int a, int b)
{long long x = 1, y = 1;for (int i = a, j = b; j >= 1; i--, j--){x = x * i;y = y * j;if (x / y > n){ //如果在这过程中已经大于N了就没必要再继续了return x / y;}}return x / y;
}

2.我们知道了这个数的大小与行和列有关那这就转变为在第i行第j列的数的大小,我们可以发现这个的每一行的第一个数的的组合数下面的那个数都是从2i开始的,所以我们可以用二分法来找L=2i,R=n;

for (int i = 0; i <=14; i++) // 遍历行{long long L = 2 * i, // 为什么是2*iR = n, mid;while (L <= R){mid = (L + R) / 2;if (C(mid, i) > n){R = mid - 1;}else if (C(mid, i) < n){L = mid + 1;}else if (C(mid, i) == n){flag = true;break;}}

3这样我们可以找到这个数的i,和j然后可以发现找到一个数的i和j之后这个数所在的位置就是
所在行-1可以发现是一个等差数列,然后在加上在本行的位置就能得出结果:公式为(j + 1) * j / 2 + i + 1;

if (flag == true){cout << (mid + 1) * mid / 2 + i + 1;break;}

4.在找得时候我们用二分的方法来找!!节省时间!!!


qwq,博主是个大笨蛋找不到规律根本Orz

全部代码:

#include <iostream>
using namespace std;
int n;
long long C(int a, int b)
{long long x = 1, y = 1;for (int i = a, j = b; j >= 1; i--, j--){x = x * i;y = y * j;if (x / y > n){ // 如果在这过程中已经大于N了,就没必要再继续了return x / y;}}return x / y;
}
// 一个十分简单的算组合数的函数
int main()
{cin >> n;bool flag = false;for (int i = 0; i <=14; i++) // 遍历行{long long L = 2 * i, // 为什么是2*iR = n, mid;while (L <= R){mid = (L + R) / 2;if (C(mid, i) > n){R = mid - 1;}else if (C(mid, i) < n){L = mid + 1;}else if (C(mid, i) == n){flag = true;break;}}if (flag == true){cout << (mid + 1) * mid / 2 + i + 1;break;}}system("pause");
}
http://www.yayakq.cn/news/969563/

相关文章:

  • 前台网站系统源码dz网站模板
  • 在线设计网站源码济南网站建设公司推荐
  • 如何从零开始做网站模块化建站工具
  • 优惠券的网站制作北京住房和城乡建设厅官网
  • wordpress怎样做单页网站网店美工的职责有哪些
  • 中国重点城镇建设集团网站外贸精品网站建设
  • 长春网站营销免费申请网站 主机 空间
  • 网站排名降级的原因有哪些外国网站加速器
  • 网站 邮件系统建设招标网站开发一般用什么技术
  • 北京的p2p网站建设出格做网站怎么样
  • 网站安全管理制度wordpress 知笔墨
  • 河北建设厅官网站首页微信小程序搭建平台有哪些
  • 淘宝网站建设图片素材水利建设相关网站
  • 网站网页直播怎么做的靖江有帮助做苏宁易购网站的公司吗
  • 做视频网站多大服务器网站开发软硬件
  • wordpress网站推广主题北京住房与城乡建设厅网站
  • 济南做网站费用福田做网站公司怎么选择
  • 免费网站制作软件热点新闻事件2023
  • 旬阳县建设局网站中国建设工程造价网
  • 南宁网站设计多少钱一个app开发定制公司哪家好做
  • 交河网站建设企业注册资本代表什么
  • 外贸建站有哪些公司专业的网站建设服务商
  • 广东装饰网站建设城阳网站开发公司
  • 长沙网站制作公司怎么做打开网站自动跳转代码
  • 网站建设作用图片wordpress文章多个分类显示不出来
  • gateface能用来做网站吗北京网站制作的公司
  • 淘宝返利网站怎么做的18种最有效推广的方式
  • 网站备案去哪里备案界面设计职业技能等级证书
  • 二级网站有什么好处连锁酒店网站建设
  • 保定知名网站建设公司对小米网站的建设意见