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

蓝桥杯每日一题2023.9.30

蓝桥杯大赛历届真题 - C&C++ 大学 B 组 - 蓝桥云课 (lanqiao.cn)

题目描述

 题目分析

对于此题,首先想到了dfs进行一一找寻,注意每次不要将重复的算进去,故我们每次循环可以记录一个开始的位置,下一次到这个位置时,这个数就不会被重复选择

没有运行出来的代码:

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long  ull;
const int N = 2e5 + 10;
ull ans, a[N];
void dfs(int n, ull start)
{if(n == 3) {ull sum = a[0];for(int i = 1; i < 3; i ++)sum *= a[i];if(sum == 2021041820210418)ans ++;return;}for(ull i = start; i <= 2021041820210418; i ++){a[n] = i;dfs(n + 1, i);a[n] = 0;}
}
int main()
{dfs(0, 1);cout << ans;return 0;
}

发现数字过大,运行时间过长,思考如何进行优化,想到这三个数都是2021041820210418的因数(这三个数乘积为2021041820210418),故我们可以先将2021041820210418的所有因数找出来,在这些因数中进行dfs

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
typedef unsigned long long ull;
ull cnt, a[N], q[N], ans;
void dfs(int dep, ull start)
{if(dep == 3){ull sum = q[0];for(int i = 1; i < 3; i ++)sum *= q[i];if(sum == 2021041820210418){ans ++;}return;}for(ull i = 0; i < cnt; i ++){q[dep] = a[i];dfs(dep + 1, i);q[dep] = 0;}
}
int main()
{for(ull i = 1; i <= 2021041820210418 / i; i ++){if(2021041820210418 % i)continue;a[cnt ++] = i;if(i != 2021041820210418 / i)a[cnt ++] = 2021041820210418 / i;}dfs(0, 0);cout << ans;return 0;
}

得到正解2430

当然也可以一进行纯纯暴力

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
typedef unsigned long long ull;
ull cnt, a[N], q[N], ans;
int main()
{for(ull i = 1; i <= 2021041820210418 / i; i ++){if(2021041820210418 % i)continue;a[cnt ++] = i;if(i != 2021041820210418 / i)a[cnt ++] = 2021041820210418 / i;}for(int i = 0; i < cnt; i ++){for(int j = 0; j < cnt; j ++){for(int k = 0; k < cnt; k ++){if(a[i] * a[j] * a[k] == 2021041820210418)ans ++;}}}cout << ans;return 0;
}
http://www.lryc.cn/news/181484.html

相关文章:

  • springboot和vue:十、vue2和vue3的差异+组件间的传值
  • SQL:增、删、改、查 基本语句 Navicat建库(用法 + 例子)
  • vue-cli搭建过程(HBuilder X搭建)
  • MySQL索引:结构、语法、分类和优化
  • Vue中添加旋转动画
  • 基于SSM农产品商城系统
  • 基于matlab创作简易表白代码
  • pandas
  • 使用关键字interface来声明使用接口-PHP8知识详解
  • 计算机毕业设计 基于SSM的高校毕业论文管理系统小程序的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 【Java 进阶篇】JDBC查询操作详解
  • 我的企业证书是正常的但是下载应用app到手机提示无法安装“app名字”无法安装此app,因为无法验证其完整性解决方案
  • 【数据结构】排序(2)—冒泡排序 快速排序
  • Redis与分布式-分布式锁
  • docker安装nginx详解
  • 优化思考二
  • 大模型微调概览
  • 利用norm.ppfnorm.interval分别计算正态置信区间[实例]
  • 计算机网络各层设备
  • java this用法
  • 【AI视野·今日NLP 自然语言处理论文速览 第四十六期】Tue, 3 Oct 2023
  • Unity ddx与ddy
  • bootstrap.xml 和applicaiton.properties和applicaiton.yml的区别和联系
  • 基于被囊群优化的BP神经网络(分类应用) - 附代码
  • 我的第一个react.js 的router工程
  • XXPermissions权限请求框架
  • 远程代码执行渗透测试—Server2128
  • 阿里云关系型数据库有哪些?RDS云数据库汇总
  • Linux--socket编程--服务端代码
  • 安装Vue脚手架图文详解教程