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

蓝桥杯冲击-02约数篇(必考)

文章目录

前言

一、约数是什么

二、三大模板

1、试除法求约数个数

2、求约数个数

3、求约数之和

三、真题演练


前言

约数和质数一样在蓝桥杯考试中是在数论中考察频率较高的一种,在省赛考察的时候往往就是模板题,难度大一点会结合其他知识点考察,但是仍然会用到模板,这里有三大模板,第一个是试除法求约数个数,第二个是求约数个数,第三个是求约数的和(来自y总的三个模型)


一、约数是什么

约数(约数的含义是什么) 1、意思 1.大约的数目。 2.一个数能够整除另一数,这个数就是另一数的约数。如2,3,4,6都能整除12,因此2,3,4,6都是12的约数。也叫因数。最后俩个都插到这个动态数组中,但是注意


二、三大模板

1、试除法求约数个数

算法思想:算x的约数,对 小于等于x的根号数求约数,当你求得一个约数,对应的也有另一个数是约数,就比如算12的约数,当算出3是约数,可得 4(12/ 3)也是12的约数。但是注意如果16的约数4对应的约数还是4不能在被放进去,所以要加一个特判

代码

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>using namespace std;vector<int> get_divisors(int n)
{vector <int> res;for(int i = 1;i <= n / i; i ++){if(n % i == 0){res.push_back(i);if(i != n / i) res.push_back(n/i);}}sort(res.begin(),res.end());return res;
}
int main()
{int n;cin >> n;while(n --){int x;cin >> x;vector <int> res;res = get_divisors(x);for(auto c : res){cout << c << " ";}cout << endl;}
}

2、求约数个数

如果有一个数n,且 n = p1^c1 * p2 ^ c2 * p3 ^c3 + ...... + pn^cn;

那么它的约数个数和就等于 (c1 + 1 ) * ( c2 + 1 ) * (c3 + 1 ) ....(cn + 1);

p1^c1,这样的数就是上文中所介绍的质因数,通过求质因数,在求c1 + 1的值即可。

题目·

 代码

#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_map>
const int mod = 1e9 + 7;
typedef long long LL;
using namespace std;
int main()
{unordered_map <int,int> primes;int n;cin >> n;while (n -- ){int x;cin >> x;for(int i = 2;i <= x / i;i ++){while(x % i == 0){x /= i;primes[i] ++;}}if(x > 1) primes[x] ++;}LL res = 1;for(auto c: primes){res  = res * (c.second + 1) % mod;}cout << res << endl;
}

3、求约数之和

如果有一个数n,且 n = p1^c1 * p2 ^ c2 * p3 ^c3 + ...... + pn^cn;

那么它的约数之和为(p1^0  + p2^1 + p3 ^3 + .. +p^c1) * ... *( pn^c1 + pn^c2 +pn^c3  + ...+ pn^cn)

求解方法和上面一样,先是解出质因数,然后求出约数和的过程很巧妙,看下面代码

题目

 

题解

#include <bits/stdc++.h>
typedef long long LL;
const int mod = 1e9 + 7;
using namespace std;
int main()
{unordered_map<int,int> primes;   //一个值存的是这个质因数,第二个存的是指数int n;cin >>n;while (n -- ){int x;cin >> x;for(int i = 2;i <= x / i;i ++){while(x % i == 0) {x /= i;primes[i] ++ ;   // 指数加一}}if(x > 1) primes[x] ++;}LL res = 1;for(auto c : primes){int a = c.first,b = c.second;LL t = 1;while(b--)  t = (t * a + 1) % mod;res = res * t % mod;}cout << res << endl;
}

最后一步为什么会用这个t ,假设开始时为 

t : 1   

t :p+ 1 (t = 1 *p + 1)

t : p^2 + p  +1 ( t = (p+1) * p +1 )\

....

最后t : t=p^b+p^b−1+…+1

 

四、求最大公约数

求最大公约数,要用到欧几里得算法,就是 gcd (a,b) = gcd(b,a%b),注意b为0的时候按照欧几里得算法,b等于0,取a;

题目

 代码

#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;
int gcd(int a,int b)
{return b ? gcd(b,a%b):a ;  //b为0的时候按照欧几里得算法,b等于0,取a
}int main()
{int n;cin >> n;while(n --){int a,b;cin >> a >> b;int t =gcd(a,b);cout << t <<endl;}
}

 


 

三、真题演练

2020填空题

题目

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

12000001200000 有多少个约数(只计算正约数)。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码

#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_map>
const int mod = 1e9 + 7;
typedef long long LL;
using namespace std;
int main()
{unordered_map <int,int> primes;int x;x = 1200000;for(int i = 2;i <= x / i;i ++){while(x % i == 0){x /= i;primes[i] ++;}}if(x > 1) primes[x] ++;LL res = 1;for(auto c: primes){res  = res * (c.second + 1) % mod;}cout << res << endl;
}

 

相关文章:

蓝桥杯冲击-02约数篇(必考)

文章目录 前言 一、约数是什么 二、三大模板 1、试除法求约数个数 2、求约数个数 3、求约数之和 三、真题演练 前言 约数和质数一样在蓝桥杯考试中是在数论中考察频率较高的一种&#xff0c;在省赛考察的时候往往就是模板题&#xff0c;难度大一点会结合其他知识点考察&#x…...

122.(leaflet篇)leaflet地图图片之间存在缝隙

听老人家说:多看美女会长寿 地图之家总目录(订阅之前建议先查看该博客) 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 存在缝隙–效果如下所示: 解决缝隙–效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYPE html>…...

4.类的基本概念

目录 4.1 类的概述 类是一种活动的数据结构 4.2 程序和类&#xff1a;一个快速实例 4.3 声明类 ​4.4 类成员 4.4.1 字段 1.显示和隐式字段初始化 2. 声明多个字段 4.4.2 方法 4.5 创建变量和类的实例 4.6 为数据分配内存 合并这两个步骤 4.7 实例成员 4.8 访问修饰…...

有图解有案例,我终于把 Condition 的原理讲透彻了

哈喽大家好&#xff0c;我是阿Q&#xff01; 20张图图解ReentrantLock加锁解锁原理文章一发&#xff0c;便引发了大家激烈的讨论&#xff0c;更有小伙伴前来弹窗&#xff1a;平时加解锁都是直接使用Synchronized关键字来实现的&#xff0c;简单好用&#xff0c;为啥还要引用Re…...

Linux之找回root密码

文章目录前言一、启动系统二、进入编辑界面三、修改密码前言 当我们使用root用户登陆Linux时&#xff0c;忘记了登陆密码&#xff0c;改怎样修改登陆密码呢&#xff0c;接下来将介绍如何修改root密码 一、启动系统 首先&#xff0c;启动系统&#xff0c;进入开机界面&#x…...

stack_queue | priority_queue | 仿函数

文章目录1. stack 的使用2. stack的模拟实现3. queue的使用4. queue的模拟实现5. deque ——双端队列deque优缺点6. priority_queue ——优先级队列1. priority_queue的使用2. priority_queue的模拟实现push——插入pop ——删除top —— 堆顶仿函数问题完整代码实现1. stack 的…...

第十四届蓝桥杯三月真题刷题训练——第 14 天

目录 第 1 题&#xff1a;组队 题目描述 运行限制 代码&#xff1a; 第 2 题&#xff1a;不同子串 题目描述 运行限制 代码&#xff1a; 思路&#xff1a; 第 3 题&#xff1a;等差数列 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码&#xff1a; 思…...

【Hadoop-yarn-01】大白话讲讲资源调度器YARN,原来这么好理解

YARN作为Hadoop集群的御用调度器&#xff0c;在整个集群的资源管理上立下了汗马功劳。今天我们用大白话聊聊YARN存在意义。 有了机器就有了资源&#xff0c;有了资源就有了调度。举2个很鲜活的场景&#xff1a; 在单台机器上&#xff0c;你开了3个程序&#xff0c;分别是A、B…...

技术掉:PDF显示,使用pdf.js

PDF 显示 场景&#xff1a; 其实直接显示 pdf 可以用 iframe 标签&#xff0c;但产品觉得浏览器自带的 pdf 预览太丑了&#xff0c;而且无法去除那些操作栏。 解决方案&#xff1a;使用 pdf.js 进行显示 第一步&#xff1a;引入 pdf.js 去官网下载稳定版的 pdf.js 文件 然后…...

有关pytorch的一些总结

Tensor 含义 张量&#xff08;Tensor&#xff09;&#xff1a;是一个多维数组&#xff0c;它是标量、向量、矩阵的高维拓展。 创建 非随机创建 1.用数组创建 将数组转化为tensor np.ones([a,b]) 全为1 #首先导入PyTorch import torch#数组创建 import numpy as np anp.arr…...

基础IO【Linux】

文章目录&#xff1a;文件相关知识C语言文件IOstdin & stdout & stderr系统文件 IOopenclosewriteread文件描述符文件描述符的分配规则重定向dup2系统调用FILEFILE中的文件描述符FILE中的缓冲区理解文件相关知识 文件 文件内容 文件属性&#xff08;每一个已经存在的…...

Vue3——自定义封装上传图片样式

自定义封装上传图片样式 一、首先需要新建一个自组建完善基础的结构&#xff0c;我这里起名为ImgUpload.vue <el-upload name"file" :show-file-list"false" accept".png,.PNG,.jpg,.JPG,.jpeg,.JPEG,.gif,.GIF,.bmp,.BMP" :multiple"…...

ChatGLM-6B (介绍以及本地部署)

中文ChatGPT平替——ChatGLM-6BChatGLM-6B简介官方实例本地部署1.下载代码2.通过conda创建虚拟环境3.修改代码4.模型量化5.详细代码调用示例ChatGLM-6B 简介 ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&…...

react的基础使用

react中为什么使用jsxReact 认为渲染逻辑本质上与其他 UI 逻辑内在耦合&#xff0c;比如&#xff0c;在 UI 中需要绑定处理事件、在某些时刻状态发生变化时需要通知到 UI&#xff0c;以及需要在 UI 中展示准备好的数据。react认为将业务代码和数据以及事件等等 需要和UI高度耦合…...

letcode 4.寻找两个正序数组的中位数(官方题解笔记)

题目描述 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 1.二分查找 1.1思路 时间复杂度&#xff1a;O(log(mn)) 空间复杂度&#xff1a;O(1) 给定…...

【面试题系列】K8S常见面试题

目录 序言 问题 1. 简单说一下k8s集群内外网络如何互通的吧 2.描述一下pod的创建过程 3. 描述一下k8s pod的终止过程 4.Kubernetes 中的自动伸缩有哪些方式&#xff1f; 5.Kubernetes 中的故障检测有哪些方式&#xff1f; 6.Kubernetes 中的资源调度有哪些方式&#xff…...

字符函数和字符串函数(上)-C语言详解

CSDN的各位友友们你们好,今天千泽为大家带来的是C语言中字符函数和字符串函数的详解,掌握了这些内容能够让我们更加灵活的运用字符串,接下来让我们一起走进今天的内容吧!写这篇文章需要在cplusplus.com上大量截图,十分不易!如果对您有帮助的话希望能够得到您的支持和帮助,我会持…...

全连接神经网络

目录 1.全连接神经网络简介 2.MLP分类模型 2.1 数据准备与探索 2.2 搭建网络并可视化 2.3 使用未预处理的数据训练模型 2.4 使用预处理后的数据进行模型训练 3. MLP回归模型 3.1 数据准备 3.2 搭建回归预测网络 1.全连接神经网络简介 全连接神经网络(Multi-Layer Percep…...

深度学习目标检测ui界面-交通标志检测识别

深度学习目标检测ui界面-交通标志检测识别 为了将算法封装起来&#xff0c;博主尝试了实验pyqt5的上位机界面进行封装&#xff0c;其中遇到了一些坑举给大家避开。这里加载的训练模型参考之前写的博客&#xff1a; 自动驾驶目标检测项目实战(一)—基于深度学习框架yolov的交通…...

ubuntu不同版本的源(换源)(镜像源)(lsb_release -c命令,显示当前系统的发行版代号(Codename))

文章目录查看unbuntu版本名&#xff08;lsb_release -c命令&#xff09;各个版本源代号&#xff08;仅供参考&#xff0c;具体代号用上面命令查&#xff09;各版本软件源Ubuntu20.10阿里源&#xff1a;清华源&#xff1a;Ubuntu20.04阿里源&#xff1a;清华源&#xff1a;Ubunt…...

linux入门---程序翻译的过程

我们在vs编译器中写的代码按下ctrl f5就可以直接运行起来&#xff0c;并且会将运行的结果显示到显示器上&#xff0c;这里看上去只有一个步骤但实际上这里会存在很多的细节&#xff0c;比如说生成结果在这里插入代码片之前我们的代码会经过预处理&#xff0c;编译&#xff0c;汇…...

springboot复习(黑马)

学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于SpringBoot的完成SSM整合项目开发一、SpringBoot简介1. 入门案例问题导入SpringMVC的HelloWord程序大家还记得吗&#xff1f;SpringBoot是由Pivotal团队提供的全新框架&#xff0c;其设计…...

C++指针详解

旧文更新&#xff1a;两三年的旧文了&#xff0c;一直放在电脑里&#xff0c;现在直接传上CSDN 一、指针的概念 1.1 指针 程序运行时每个变量都会有一块内存空间&#xff0c;变量的值就存放在这块空间中。程序可以通过变量名直接访问这块空间内的数据&#xff0c;这种访问方…...

tauri+vite+vue3开发环境下创建、启动运行和打包发布

目录 1.创建项目 2.安装依赖 3.启动项目 4.打包生成windows安装包 5.安装打包生成的安装包 1.创建项目 运行下面命令创建一个tauri项目 pnpm create tauri-app 我创建该项目时的node版本为16.15.0 兼容性注意 Vite 需要 Node.js 版本 14.18&#xff0c;16。然而&#x…...

安卓进阶系列-系统基础

文章目录计算机结构冯诺依曼结构哈弗结构冯诺依曼结构与哈弗结构对比安卓采用的架构安卓操作系统进程间通讯&#xff08;IPC&#xff09;内存共享linux内存共享安卓内存共享管道Unix Domain Socket同步常见同步机制信号量Mutex管程安卓同步机制安卓中的Mutex安卓中的ConditionB…...

10 Wifi网络的封装

概述 Wifi有多种工作模式,比如:STA模式、AccessPoint模式、Monitor模式、Ad-hoc模式、Mesh模式等。但在IPC设备上,主要使用STA和AccessPoint这两种模式。下面分别进行介绍。 STA模式:任何一种无线网卡都可以运行在此模式,这种模式也是无线网卡的默认模式。在此模式下,无线…...

手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常实用)

简介 Jetbrains家族和Pycharm版本划分&#xff1a; pycharm是Jetbrains家族中的一个明星产品&#xff0c;Jetbrains开发了许多好用的编辑器&#xff0c;包括Java编辑器&#xff08;IntelliJ IDEA&#xff09;、JavaScript编辑器&#xff08;WebStorm&#xff09;、PHP编辑器&…...

开发板与ubantu文件传送

接下来的所以实验都通过下面这种方式发送APP文件到开发板运行 目录 1、在ubantu配置 ①在虚拟机上添加一个桥接模式的虚拟网卡 ②设定网卡 ③在网卡上配置静态地址 2、开发板设置 ①查看网卡 ②配置网卡静态ip 3、 测试 ①ping ②文件传送 传送报错情况 配置环境&#…...

如何成为一名优秀的网络安全工程师?

前言 这是我的建议如何成为网络安全工程师&#xff0c;你应该按照下面顺序学习。 简要说明 第一件事你应该学习如何编程&#xff0c;我建议首先学python&#xff0c;然后是java。 &#xff08;非必须&#xff09;接下来学习一些算法和数据结构是很有帮助的&#xff0c;它将…...

面试问题之高并发内存池项目

项目部分 1.这个项目是什么? 高并发内存池的原型是谷歌一个开源项目&#xff0c;tcmalloc&#xff0c;而这个项目&#xff0c;就是tcmalloc中最核心的框架和部分拿出来进行模拟。他的作用就是在去代替原型的内存分配函数malloc和free。这个项目涉及的技术有&#xff0c;c&…...

物流建设网站总结/百度网盘资源搜索

点蓝字关注我们大胆热爱Hello Everybody【火影秘术小课堂】开课了本期的主题【c盘满了怎么办】火粉们赶紧搬好小板凳&#xff0c;准备上课吧1c盘为什么会满在如今这个信息爆炸增长的时代&#xff0c;我们要看的信息越来越多&#xff0c;也就意味着在电脑里有意无意留存的资料也…...

学校网站的建设费用/百度开户代理

许多外贸公司在选择邮箱时&#xff0c;单次群发量和邮箱容量都是客户选择邮箱品牌的必要条件。小编了解到一些做外贸的公司是需要跟海外的客户发邮件业务往来的&#xff0c;所以&#xff0c;他们需要单次群发量非常高&#xff0c;目前小编了解到&#xff0c;还有一些外贸公司的…...

私人找人做网站/百度官网网站首页

web3d一、前言粒子特效二维漫画可视化后期处理二、项目使用流程2.1 项目结构2.2 基本使用2.3 项目模板2.4 技术栈三、基础动画3.1 THREE.Clock3.2 GASP四、照相机8.1 正交相机8.2 透视相机4.3 相机控制器五、画布和全屏六、几何体七、Debug UI八、纹理贴图8.1 mipmapping8.2 放…...

wordpress降级/百度快照入口官网

1.使类和成员的可访问性最小化 封装&#xff08;数据私有化&#xff0c;方法公开化&#xff09;&#xff0f;对外提供可调用的&#xff0c;稳定的功能可访问性应该明确修饰符本类同包类子类其他类public√√√√protected√√√默认√√private√实例域绝不能是公有的包级私有的…...

免费软件下载网站排行/济南做网站比较好的公司

加上引号就好了&#x1f44f; def foo(value: str|int|float|list|tuple):print(value)foo(None)...

潍坊医院网站建设/平台推广计划

2019独角兽企业重金招聘Python工程师标准>>> 一直计划做WordPress企业主题给大家自行购买使用&#xff0c;只做与注册这个域名wordpressmall.org&#xff0c;是和我们的初衷是密切相关的。WordPress Mall&#xff0c;WordPress商城的意思。 想做C2C 后来觉得技术上…...