2024蓝桥杯每日一题(分解质因数)

embedded/2025/2/22 1:45:54/

备战2024年蓝桥杯 -- 每日一题
Python大学A组

        试题一:约数个数
        试题二:分解质因数
        试题三:质因数个数
        试题四:完全平方数
        试题五:阶乘分解


试题一:约数个数

【题目描述】

        输入 n 个整数,依次输出每个数的约数的个数。

【输入格式】

        第一行包含整数 n。

        第二行包含 n 个整数 ai。

【输出格式】

        共 n 行,按顺序每行输出一个给定整数的约数的个数。

【数据范围】

        1≤n≤1000
        1≤ai≤109

【输入样例】

5
1 3 4 6 12

【输出样例】

1
2
3
4
6

【解题思路】

        模板题

【Python程序代码】

python">n = int(input())
s = list(map(int,input().split()))
for _ in range(n):x = s[_]res,i = 0,1while i*i<=x:if x%i==0:res += 1if x//i != i:res += 1i += 1print(res)

试题二:分解质因数

【题目描述】

        给定 n 个正整数 ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。

【输入格式】

        第一行包含整数 n。

        接下来 n 行,每行包含一个正整数 ai。

【输出格式】

        对于每个正整数 ai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。

        每个正整数的质因数全部输出完毕后,输出一个空行。

【数据范围】

        1≤n≤100,
        2≤ai≤2×109

【输入样例】

python">2
6
8

【输出样例】

python">2 1
3 12 3

【解题思路】

        模板题

【Python程序代码】

python">n = int(input())
for i in range(n):x = int(input())i = 2while i*i <= x:if x%i==0:ct = 0while x%i==0:ct+=1x//=iprint(i,ct)i += 1if x>1:print(x,1)print()

试题三:质因数个数

【题目描述】

        给定正整数 n,请问有多少个质数是 n 的约数。

【输入格式】

        输入的第一行包含一个整数 n。

【输出格式】

        输出一个整数,表示 n 的质数约数个数。

【数据范围】

        对于 30%30% 的评测用例,1≤n≤10000
        对于 60%60% 的评测用例,1≤n≤109
        对于所有评测用例,1≤n≤1016

【输入样例】

python">396

【输出样例】

python">3

【解题思路】

        模板题

【Python程序代码】

python">n = int(input())
i,res =2,0
while i*i<=n:if n%i==0:res += 1while n%i==0:n//=ii +=1
if n>1:res +=1
print(res)

试题四:完全平方数

【题目描述】

        一个整数 a 是一个完全平方数,是指它是某一个整数的平方,即存在一个整数 b,使得 a=b2。

        给定一个正整数 n,请找到最小的正整数 x,使得它们的乘积是一个完全平方数。

【输入格式】

        输入一行包含一个正整数 n。

【输出格式】

        输出找到的最小的正整数 x。

【数据范围】

        对于 30%30% 的评测用例,1≤n≤1000,答案不超过 1000。
        对于 60%60% 的评测用例,1≤n≤108,答案不超过 108。
        对于所有评测用例,1≤n≤1012,答案不超过 1012。

【输入样例】

python">12

【输出样例】

python">3

【解题思路】

        质因数分解,指数为计数的数相乘就是答案

【Python程序代码】

python">n = int(input())
i,res = 2,1
while i*i<=n:if n%i==0:ct = 0 while n%i==0:ct+=1n//=iif ct%2:res*=ii+= 1
if n>1:res*=n
print(res)

试题五:阶乘分解

【题目描述】

        给定整数 N,试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pi 和 ci 即可。

【输入格式】

        一个整数 N。

【输出格式】

        N!分解质因数后的结果,共若干行,每行一对 pi,ci,表示含有 pcii 项。按照 pi 从小到大的顺序输出。

【数据范围】

        3≤N≤106

【输入样例】

python">3

【输出样例】

python">2 3
3 1
5 1

【解题思路】

        用除法解决,一个质数i在n!中的指数为n/i + n/i*i + n/i*i*i + ...

【Python程序代码】

python">n = int(input())
primes,st = [],[0]*(n+10)
def get_primes():for i in range(2,n+1):if not st[i]:primes.append(i)j = 0while primes[j]*i<=n:k = primes[j]*ist[k] = 1if i%primes[j]==0:breakj += 1
get_primes()
for i in primes:ct,t = 0,nwhile t:ct += t//it//=iprint(i,ct)


http://www.ppmy.cn/embedded/7590.html

相关文章

Redis快速入门操作

启动Redis 进入命令行客户端 字符串命令常用操作&#xff08;redis默认使用字符串来存储数据&#xff09; 列表&#xff08;Lists&#xff09;常用操作 集合&#xff08;Sets&#xff09;常用操作 &#xff08;无序集合且元素不可重复&#xff09; 有序集合&#xff08;So…

ARM_day8:温湿度数据采集应用

1、IIC通信过程 主机发送起始信号、主机发送8位(7位从机地址1位传送方向(0W&#xff0c;1R))、从机应答、发数据、应答、数据传输完&#xff0c;主机发送停止信号 2、起始信号和终止信号 SCL时钟线&#xff0c;SDA数据线 SCL高电平&#xff0c;SDA由高到低——起始信号 SC…

设计模式-访问者模式(Visitor)

1. 概念 访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为型设计模式。是一种将数据操作与数据结构分离的设计模式&#xff0c;其主要目的是将数据结构与数据操作解耦。 2. 原理结构图 图1 Visitor&#xff08;访问者&#xff09;&#xff1a;接口或抽象类&am…

通过WSL在阿里云上部署Django项目MySQL

前端用Vue&#xff0c;后端用Django&#xff0c; nginx&#xff0c;Mysql 参照&#xff1a; 通过WSL在阿里云上部署Vue项目_阿里云 wsl-CSDN博客 阿里云重登录 采用Ubuntu系统&#xff0c; apt update #检查是否已经安装 mysql --version #检查是否已经安装mysql systemct…

代码随想录算法训练营DAY28(记录)|C++回溯算法Part.5|491.递增子序列、46.全排列、47.全排列II

文章目录 491.递增子序列思路伪代码CPP代码优化代码 46.全排列思路伪代码CPP代码 47.全排列IICPP代码 491.递增子序列 力扣题目链接 文章链接&#xff1a;491.递增子序列 视频连接&#xff1a;回溯算法精讲&#xff0c;树层去重与树枝去重 | LeetCode&#xff1a;491.递增子序列…

ssm053毕业论文管理系统+vue

学院教务处制 摘 要 高校规模越来越大&#xff0c;学生越来越多&#xff0c;每年都有大批的大学生完成学业。毕业之前&#xff0c;各大高校设立毕业论文来对学生进行考核&#xff0c;传统毕业论文管理方式效率低下&#xff0c;为了提高效率&#xff0c;特开发了本毕业论文管…

BCLinux8U6系统部署oceanbase分布式数据库社区版之三、分布式数据库部署

本文是在完成步骤一、准备 OBD 中控机&#xff0c;步骤二3台数据库服务器准备后&#xff0c;正式开始oceanbase分布式数据库安装。 前序步骤&#xff1a;BCLinux8U6系统部署oceanbase分布式数据库社区版之一、准备 OBD 中控机 BCLinux8U6系统部署oceanbase分布式数据库社区版…

Gradle 进阶学习 之 Task

1、项目的生命周期 Gradle 项目的生命周期分为三大阶段: Initialization -> Configuration -> Execution. 每个阶段都有自己的职责。 想象一下&#xff0c;你正在制作一个大型的乐高城堡。在这个过程中&#xff0c;你需要做三件事&#xff1a; 初始化阶段&#xff1a;…