蓝桥杯每日一真题—— [蓝桥杯 2021 省 AB2] 完全平方数(数论,质因数分解)

文章目录

  • [蓝桥杯 2021 省 AB2] 完全平方数
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 样例 #2
      • 样例输入 #2
      • 样例输出 #2
    • 提示
      • 思路:
        • 理论补充:完全平方数的一个性质:完全平方数的质因子的指数一定为偶数
        • 最终思路:
        • 小插曲:
      • 全部代码

[蓝桥杯 2021 省 AB2] 完全平方数

题目描述

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

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

输入格式

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

输出格式

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

样例 #1

样例输入 #1

12

样例输出 #1

3

样例 #2

样例输入 #2

15

样例输出 #2

15

提示

对于 30 % 30 \% 30% 的评测用例, 1 ≤ n ≤ 1000 1 \leq n \leq 1000 1n1000,答案不超过 1000 1000 1000

对于 60 % 60 \% 60% 的评测用例, 1 ≤ n ≤ 1 0 8 1 \leq n \leq 10^{8} 1n108,答案不超过 1 0 8 10^{8} 108

对于所有评测用例, 1 ≤ n ≤ 1 0 12 1 \leq n \leq 10^{12} 1n1012,答案不超过 1 0 12 10^{12} 1012

蓝桥杯 2021 第二轮省赛 A 组 G 题(B 组 H 题)。

思路:

这一看直接暴力就只能得一点点分,我还数论学的不太好先暴力得了30分。然后开始想办法吧!
没办法。。。看答案吧。。。

理论补充:完全平方数的一个性质:完全平方数的质因子的指数一定为偶数

1.唯一分解定理任意一个数 n,它都可以分解为若干个质数的乘积。

2.需要知道完全平方数的一个性质:完全平方数的质因子的指数一定为偶数。附上大佬的证明过
程:
在这里插入图片描述

最终思路:

对n进行质因数分解,如果质因数的指数为奇数的话就在x中乘以这个质因子这样,可以让指数保持偶数,如果是偶数那就不用管它~~~~
1.分解质因子:

for (long long i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            cnt++;//记录有多少个因子,后面好遍历
        }

        while (n % i == 0)
        {
            a[cnt] = i;//a数组存因子
            g[cnt]++;//g数组存因子指数
            n = n / i;
        }
    }

    if (n > 1)
    {
        a[++cnt] = n;
        g[cnt]++;
    }//考虑没分解完的情况

2,根据性质得出答案:

  for (int i = 1; i <= cnt; i++)//遍历如果有奇数就让原来的n*ans*这个奇数质因子也就是让ans*这个奇数质因子
    {
        if (g[i] % 2)
        {
            ans = ans * a[i];
        }
    }
    cout << ans;

小插曲:

质因数分解写错了最后输出了和n一样的数竟然得了60分!!

全部代码

#include <iostream>
using namespace std;

long long n, ans = 1, g[1000], a[1000], cnt;
int main()
{
    cin >> n;
    // 首先对n进行质因数分解
    for (long long i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            cnt++;//记录有多少个因子,后面好遍历
        }

        while (n % i == 0)
        {
            a[cnt] = i;//a数组存因子
            g[cnt]++;//g数组存因子指数
            n = n / i;
        }
    }

    if (n > 1)
    {
        a[++cnt] = n;
        g[cnt]++;
    }//考虑没分解完的情况
    //完全平方数的质因子的指数一定为偶数
    for (int i = 1; i <= cnt; i++)//遍历如果有奇数就让原来的n*ans*这个奇数质因子也就是让ans*这个奇数质因子
    {
        if (g[i] % 2)
        {
            ans = ans * a[i];
        }
    }
    cout << ans;
    system("pause");
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/2495.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IHome主页 - 让你的浏览器主页与众不同

随着互联网的发展&#xff0c;人们越来越离不开浏览器了。每天上班、学习、娱乐&#xff0c;浏览器成为人们的“第二个家”。 在这个过程中&#xff0c;浏览器的主页也变得越来越重要了。有些人喜欢简洁明了的主页&#xff0c;有些人则希望有丰富的内容。 今天&#xff0c;我…

大数据现在找工作难么

大数据行业工作好找还是难找不是光靠嘴说出来的结合实际&#xff0c;看看市场上的招聘需求和岗位要求就大致知道了 要想符合企业用人规范&#xff0c;学历&#xff0c;工作经验&#xff0c;掌握技能都是非常重要的~ 先来看几个招聘网站的报告数据&#xff1a; Boss直聘发布的…

2023年天津市逆向re2.exe解析-比较难(超详细)

2023年天津市逆向re2.exe解析(较难) 1.拖进IDA里进行分析2.动态调试3.编写EXP脚本获取FLAG4.获得FLAG1.拖进IDA里进行分析 进入主程序查看伪代码 发现一个循环,根据行为初步判定为遍历输入的字符并对其ascii^7进行加密 初步判断sub_1400ab4ec为比较输入和flag的函数 跟进u…

ccc-pytorch-宝可梦自定义数据集实战-加载数据部分(9)

文章目录第一步&#xff1a;构建路径与种类的映射关系第二步&#xff1a;载入所有的宝可梦图像第三步&#xff1a;打散顺序并通过路径名提取映射关系构建映射文件第四步&#xff1a;完善选取、获取图片信息功能并可视化第五步&#xff1a;对数据进行预处理第六步&#xff1a;批…

智慧物业类管理APP开发功能有哪些?

做过物业管理工作的朋友都知道&#xff0c;其工作内容是非常繁琐的。随着互联网技术的发展&#xff0c;传统的物业管理方式已经不能满足人们的需求&#xff0c;于是专业化的小区、酒店、写字楼物业管理平台搭建应运而生&#xff0c;改变了物业传统服务模式&#xff0c;提高了物…

Lesson 9.1 集成学习的三大关键领域、Bagging 方法的基本思想和 RandomForestRegressor 的实现

文章目录一、 集成学习的三大关键领域二、Bagging 方法的基本思想三、RandomForestRegressor 的实现在开始学习之前&#xff0c;先导入我们需要的库&#xff0c;并查看库的版本。 import numpy as np import pandas as pd import sklearn import matplotlib as mlp import sea…

Spring入门篇3 --- 依赖注入(DI)方式、集合注入

目录1.依赖注入方式依赖注入(DI&#xff1a;dependence injection)&#xff1a;在容器中建立bean与bean之间的依赖关系的整个过程。向一个bean中传递数据有三种方法&#xff1a;setter注入、构造器注入、自动装配/src/main/java/com/itheima/dao/BookDao.javapackage com.ithei…

网络技术与应用概论(上)——“计算机网络”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容依旧是计算机网络的一些知识点噢&#xff0c;下面&#xff0c;让我们进入计算机网络的世界吧 网络内涵 网络特征 网络定义 互联网发展过程 从ARPA网络到Internet 从低速互联网到高速互联网 从数据结构到统一网…

第29次CCFCSP认证经验总结

鄙人有幸参加了由中国计算机学会举办的第29次计算机软件能力认证考试&#xff0c;在此进行一些考试细节和经验的总结。 如果没有仔细了解过的小白去网上搜索CCFCSP&#xff0c;可能出现的是CSP-J/S&#xff0c;但是详细了解会发现&#xff0c;首先CSP-J/S分初试和复试&#xff…

C语言 结构体进阶 结构体、枚举、联合详解(2)

目录结构体实现位段&#xff08;位段的填充&可移植性&#xff09; 枚举类型的定义 枚举的优点 联合类型的定义 联合的特点 联合体的使用 联合大小的计算 结构体实现位段&#xff08;位段的填充&可移植性&#xff09;位段的声明和结构是类似的&#xff0c;有两个不同&am…

计算机网络管理 TCP三次握手的建立过程,Wireshark抓包分析并验证TCP三次握手建立连接的报文

⬜⬜⬜ ---&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; (*^▽^*)欢迎光临 &#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;---⬜⬜⬜ ✏️write in front✏️ &#x1f4dd;个人主页&#xff1a;陈丹宇jmu &#x1f381;欢迎各位→…

I2C模块理解

I2C模块理解 文章目录I2C模块理解1.配置I2C2.信号3.数据传输3.1主机发送3.2主机接收3.3从机发送3.4从机接收4.中断传输5.Aardvark1.配置I2C I2C的特征 只需要两条公共总线&#xff08;线&#xff09;即可控制I2C网络上的任何设备无需像UART通信那样事先约定数据传输速率。因此…

Linux系统下gdb调试

Linux系统下gdb调试 开发环境 linux centOS yum -y install gdbgdb用法介绍 &#xff08;1&#xff09;生成带有调试信息的可运行程序&#xff0c;命令如下&#xff1a; g -g main.cpp -o main //生成带有调试信息的可运行程序main&#xff0c;编译参数-g 测试程序hello.c…

【Go】K8s 管理系统项目[Jenkins Pipeline K8s环境–应用部署]

K8s 管理系统项目[Jenkins Pipeline K8s环境–应用部署] 1. k8s-plantform-api-Pipeline 考虑到实际工作中前后端可能是不同的同学完成,一般Api部分完成后改动会比较小,web部分改动会比较频繁.于是将api和web分了2个pipeline实现 1.1 GIt仓库 docker目录存放镜像构建相关文件…

react中渲染企业微信的表情

前提&#xff1a;后端返回的的表情是解析成字符串的这种&#xff0c;形如&#xff1a;[微笑]、[旺财]等的 大致思路&#xff1a; 需要一张完整表情包的精灵图&#xff0c;用正则去匹配[***]这种文本再写个json对照表&#xff0c;匹配到的再用json去匹配对应的style样式。利用…

Java stream性能比较

环境 Ubuntu 22.04IntelliJ IDEA 2022.1.3JDK 17CPU&#xff1a;8核 ➜ ~ cat /proc/cpuinfo | egrep -ie physical id|cpu cores physical id : 0 cpu cores : 1 physical id : 2 cpu cores : 1 physical id : 4 cpu cores : 1 physical id : 6 cpu cores : 1 physical id …

蓝桥杯训练day3

day31.递推&#xff08;1&#xff09;3777. 砖块&#xff08;2&#xff09;95. 费解的开关&#xff08;3&#xff09;1208. 翻硬币2.递归&#xff08;1&#xff09;1497. 树的遍历&#xff08;2&#xff09;97. 约数之和1.递推 &#xff08;1&#xff09;3777. 砖块 思路&…

深入理解JVM虚拟机(六)

目录&#xff1a; &#xff08;1&#xff09;直接内存 &#xff08;2&#xff09;直接内存-基本使用 &#xff08;3&#xff09;直接内存-内存溢出 &#xff08;4&#xff09;直接内存-释放原理 &#xff08;5&#xff09;直接内存-禁用显示回收对直接内存的影响 &#xf…

C++虚函数与多态

C虚函数与多态虚函数抽象类纯虚函数虚析构函数多态虚函数的几个问题纯虚函数和ADT虚函数 virtual修饰的成员函数就是虚函数&#xff0c; 1.虚函数对类的内存影响&#xff1a;增加一个指针类型大小&#xff08;32位和64位&#xff09; 2.无论有多少个虚函数&#xff0c;只增加一…

ChatGPT推出第四代GPT-4!不仅能聊天,还可以图片创作!

3月15日凌晨&#xff0c;OpenAI震撼发布了多模态预训练大模型 GPT-4。 根据官网发布的通告可以知道&#xff0c;GPT-4 实现了以下几个方面的飞跃式提升&#xff1a;强大的AI创作识图能力&#xff1b;文字输入限制提升至 2.5 万字&#xff1b;回答准确性显著提高&#xff1b;能够…
最新文章