蓝桥杯打卡Day15天


文章目录

  • 买不到的数目
  • 错误票据

一、买不到的数目OJ链接

本题思路**:**引理:给定a,b,若d=gcd(a,b)>1 ,则一定不能凑出最大数。结论:如果 a,b均是正整数且互质,那么由 ax+by,x≥0,y≥0 不能凑出的最大数是 ab−a−b。

证明:首先证明 ab−a−b不能被 ax+bx,x≥0,y≥0表示出。
反证法:假设 ab−a−b=ax+by,那么 ab=a(x+1)+b(y+1),由于 a|ab,a|a(x+1),所以 a|b(y+1),由于 a,b 互质,所以 a|(y+1),由于 y≥0,所以 a<=y+1,所以 b(y+1)≥ab。同理可得 a(x+1)≥ab,所以 a(x+1)+b(y+1)≥2ab>ab,矛盾。证明 ab−a−b+d,d>0一定可以表示成 ax+by,x,y≥0 的形式

cpp 复制代码
#include <bits/stdc++.h>

int main()
{
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);std::cout.tie(nullptr);
  
  int a,b;
  std::cin>>a>>b;
  
  int d=std::lcm(a,b);
  std::cout<<d-a-b<<std::endl;
  return 0;
}

二、错误票据OJ链接

**本题思路:**本题通过排序的方式来枚举即可。

cpp 复制代码
#include <bits/stdc++.h>

constexpr int N=10010;

int n,m;
int a[N];

int main()
{
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);std::cout.tie(nullptr);
  
  std::cin>>n;
  std::string line;
  
  //将第一行的回车读入
  std::getline(std::cin,line);
  while(n--){
    
    std::getline(std::cin,line);
    
    //stringstream 默认是以空格来分割字符串的
    std::stringstream ssin(line);
    while(ssin>>a[m]){
      m++;
    }
  }
  
  //排序
  std::sort(a,a+m);
  int d=-1,c=-1;//d是找出重复的,c是找出缺失的
  //从前往后枚举即可
  for(int i=0;i<m-1;i++){
    if(a[i]==a[i+1]) d=a[i];
    else if(a[i+1]==a[i]+2) c=a[i]+1;
  }
  
  std::cout<<c<<" "<<d<<std::endl;
  return 0;
}
相关推荐
AlenTech10 小时前
139. 单词拆分 - 力扣(LeetCode)
算法·leetcode·职场和发展
酉鬼女又兒12 小时前
零基础快速入门前端蓝桥杯Web备考:BOM与定时器核心知识点详解(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯
Roselind_Yi13 小时前
【吴恩达2026 Agentic AI】面试向+项目实战(含面试题+项目案例)-2
人工智能·python·机器学习·面试·职场和发展·langchain·agent
Roselind_Yi13 小时前
【吴恩达2026 Agentic AI】面试向+项目实战(含面试题+项目案例)-1
人工智能·python·面试·职场和发展·langchain·gpt-3·agent
wanderist.14 小时前
从Nim游戏到SG函数
c++·算法·蓝桥杯
莫叫石榴姐14 小时前
本体论:企业智能化转型的核心引擎
大数据·数据仓库·人工智能·面试·职场和发展
daxi15014 小时前
C语言从入门到进阶——第17讲:字符串函数
c语言·开发语言·算法·蓝桥杯
wljy114 小时前
第十四届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(个人见解,已完结)
c语言·c++·算法·蓝桥杯
Trouvaille ~14 小时前
【优选算法篇】拓扑排序——逻辑先后与任务依赖的终极拆解
数据结构·c++·算法·leetcode·青少年编程·蓝桥杯·拓扑学
XiYang-DING14 小时前
【LeetCode】118.杨辉三角
算法·leetcode·职场和发展