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

杨辉三角(蓝桥杯2021年H)

输入一个数字,看杨辉三角压缩矩阵第几个数与之相等。

#include<iostream>
using namespace std;
/*
typedef struct Node {int* data;int size;Node* next;
}Node,*Linklist;
*/
int C(int a,int b) {//求解组合数int c = 1,div = 1;if (b == 0) {c = 1;}else {for (int i = 0; i < b; i++) {c *= (a - i);}for (int j = 1; j <= b; j++) {div *= j;}c /= div;}return c;
}
int main(){//Linklist head = new Node;//Linklist rear = head;//rear->next = nullptr;int n, index = 0;cin >> n;for (int i = 0;; i++) {//Linklist node = new Node;//node->size = i+1;//node->next = nullptr;for (int j = 0; j <= i;j++) {//node->data[j] = C(i,j);index++;if (n == C(i, j)) {cout << index;return 0;}}//rear->next = node;//rear = node;}//return 0;
}

算法改进,基于行最大的二分查找

#include<iostream>
using namespace std;
int n;
int C(int a,int b) {int v = 1, div = 1;if (b != 0) {if (a > 20) {return C(a - 1, b - 1) + C(a - 1, b);}else {for (int i = 0; i < b; i++) {v *= (a - i);}for (int j = b; j >= 1; j--) {div *= j;}return v/div;}}
}
void nom_serch(int left) {for (int i = left;;i++) {for (int j = 0; j <= i/2;j++) {if (C(i,j) == n) {cout << i * (i + 1) / 2 + j + 1;return;}}}
}
void t_div_serch(int left,int right) {int mid = (left + right) / 2;if (C(mid,mid/2)<n) {t_div_serch(mid+1,right);}else if(C(mid, mid / 2) > n){nom_serch(left);}else {cout <<mid * (mid + 1) / 2 + mid / 2 + 1;return;}
}
int main() {cin >> n;t_div_serch(0,n);return 0;
}

http://www.lryc.cn/news/528746.html

相关文章:

  • 【蓝桥杯嵌入式入门与进阶】2.与开发板之间破冰:初始开发板和原理图2
  • C++ queue
  • 【MySQL-7】事务
  • 03链表+栈+队列(D1_链表(D1_基础学习))
  • Git 出现 Please use your personal access token instead of the password 解决方法
  • AI大模型开发原理篇-1:语言模型雏形之N-Gram模型
  • STM32新建不同工程的方式
  • 【Rust自学】14.5. cargo工作空间(Workspace)
  • 全面了解 Web3 AIGC 和 AI Agent 的创新先锋 MelodAI
  • 10.3 LangChain实战指南:解锁大模型应用的10大核心场景与架构设计
  • Swing使用MVC模型架构
  • 设计新的 Kibana 仪表板布局以支持可折叠部分等
  • 修改maven的编码格式为utf-8
  • 解锁罗技键盘新技能:轻松锁定功能键(罗技K580)
  • HTB:Active[RE-WriteUP]
  • [C语言日寄] 源码、补码、反码介绍
  • 安卓逆向之脱壳-认识一下动态加载 双亲委派(一)
  • Nuxt:利用public-ip这个npm包来获取公网IP
  • babylon.js-3:了解STL网格模型
  • 基于SpringBoot的假期周边游平台的设计与实现(源码+SQL脚本+LW+部署讲解等)
  • 【MySQL】初始MySQL、库与表的操作
  • 将DeepSeek接入Word,打造AI办公助手
  • Coze,Dify,FastGPT,对比
  • Kafka 日志存储 — 磁盘存储
  • 996引擎 - NPC-添加NPC引擎自带形象
  • GL C++显示相机YUV视频数据使用帧缓冲FBO后期处理,实现滤镜功能。
  • 【hot100】刷题记录(7)-除自身数组以外的乘积
  • 解决.NET程序通过网盘传到Linux和macOS不能运行的问题
  • 练习(复习)
  • Class2(2020):Shell基础(二)——Shell脚本设计基础