备战蓝桥杯---数论相关问题

news2024/11/19 16:38:08

目录

一、最大公约数和最小公倍数

二、素数判断

三、同余

四、唯一分解定理

五、约数个数定理

六、约数和定理

五、快速幂

六、费马小定理

七、逆元


一、最大公约数和最小公倍数

文章链接:最大公约数和最小公倍数

二、素数判断

文章链接:在Java中判断素数

三、同余

同余是一个数学概念,它描述了两个数在某个特定的模下具有相同的余数。在数学中,我们使用符号"≡"来表示同余关系。具体来说,对于给定的整数a、b和正整数m,如果a与b除以m得到的余数相等,即(a mod m) = (b mod m),我们就说a与b在模m下是同余的。

四、唯一分解定理

该定理表明,每个大于1的自然数都可以被唯一地表示为质数的乘积。

具体来说,唯一分解定理可以表述为:任何一个大于1的自然数n,都可以写成质数的乘积形式,即n = p1^a1 * p2^a2 * … * pk^ak,其中p1, p2, …, pk为质数,a1, a2, …, ak为正整数,并且这种表示方式是唯一的,即如果将n分解成不同的质数乘积形式,那么这些质数和指数也是唯一确定的。

例如,对于自然数12,它可以被分解为2^2 * 3^1,其中2和3都是质数,指数分别为2和1。而这种分解方式是唯一的,即12不能被表示为其他质数乘积的形式。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main {

    static class node{
        int a,b;//a的b次方
        node(int a,int b){
            this.a=a;
            this.b=b;
        }
    }
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();//输入的数,输出是由多个质数的次方的乘积
        int t=n;
        ArrayList<node> e=new ArrayList<>();
        for(int i=2;i<=n/i;i++){
            if(n%i==0){
                int ans=0;
                while(n%i==0){
                    ans++;
                    n/=i;
                }
                e.add(new node(i,ans));
            }
        }
        if(n>1){
            e.add(new node(n,1));
        }
        System.out.print(t+"=");
        for(int i=0;i<e.size();i++){
            if(i==e.size()-1){
                System.out.print(e.get(i).a+"^"+e.get(i).b);
                break;
            }
            System.out.print(e.get(i).a+"^"+e.get(i).b+"+");
        }
    }
}

五、约数个数定理

约数个数定理是数论中的一个重要定理,它给出了一个正整数的约数个数与其质因数分解有关的关系。具体来说,如果一个正整数n可以分解为质数的乘积,即n = p1^a1 * p2^a2 * … * pk^ak,其中p1、p2、…、pk为不同的质数,a1、a2、…、ak为正整数,则n的约数个数可以通过以下公式计算:

约数个数 = (a1 + 1) * (a2 + 1) * … * (ak + 1)

其中,(a1 + 1)、(a2 + 1)、…、(ak + 1)分别表示每个质因数的指数加1后的值。

例如,对于正整数12,它可以分解为2^2 * 3^1,因此它的约数个数为(2+1) * (1+1) = 6。它的约数包括1、2、3、4、6和12。

六、约数和定理

通过某一个数字的唯一分解定理,可以推出约数和定理。约数和定理是指对于任意一个正整数n,它的所有约数的个数可以通过对n进行唯一分解后的指数加1的乘积来计算。

具体来说,如果将正整数n进行唯一分解,得到其质因数分解式为: n = p1^a1 * p2^a2 * p3^a3 * … * pk^ak 其中,p1, p2, p3, …, pk为不同的质数,a1, a2, a3, …, ak为对应的指数。

根据唯一分解定理,n的所有约数可以通过对指数进行组合得到。对于每个质因数pi,它的指数ai可以取0到ai之间的任意整数,这样就可以得到ai+1个选择。因此,n的所有约数的个数为(a1+1) * (a2+1) * (a3+1) * … * (ak+1)。

以20为例,将20进行唯一分解得到其质因数分解式为: 20 = 2^2 * 5^1 其中,2和5为不同的质数,指数分别为2和1。

根据约数和定理,20的所有约数的个数为(2+1) * (1+1) = 6。即20的约数有6个,分别为1、2、4、5、10和20。

也就是:

(1)2^0*5^0=1

(2)2^0*5^1=5

(3)2^1*5^0=2

(4)2^1*5^1=10

(5)2^2*5^0=4

(6)2^2*5^1=20

五、快速幂

文章链接:快速幂(Java实现)

六、费马小定理

费马小定理是数论中的一个重要定理,它描述了在模运算下的一种特殊性质。具体来说,费马小定理表明,如果p是一个质数,a是任意整数且不是p的倍数,那么a的p-1次方除以p的余数等于1。

数学表达式为:a^(p-1) ≡ 1 (mod p)------>(a^(p-1))%p=1(简单来说)

这里的“≡”表示模运算下的等价关系,即两个数除以p的余数相等。

举个例子来说明,假设p=7,a=3,根据费马小定理,我们可以计算3^6除以7的余数。计算过程如下:

3^6 = 729 729 ÷ 7 = 104 余 1

因此,根据费马小定理,3^6除以7的余数等于1。

七、逆元

逆元是数论中的一个重要概念,它指的是在模运算下,对于给定的整数a和模数m,存在一个整数b,使得(a * b) % m = 1。其中,a称为原元,b称为a的逆元。

举个例子来说明逆元的概念。假设我们要求解在模7下的逆元,即找到一个整数b,使得(a * b) % 7 = 1。如果我们取a = 3,那么可以发现3 * 5 = 15,15除以7的余数为1,所以5就是3在模7下的逆元。因此,5是3的逆元。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入浅出 -- 系统架构之分布式集群的分类

一、单点故障问题 集群&#xff0c;相信诸位对这个概念并不陌生&#xff0c;集群已成为现时代中&#xff0c;保证服务高可用不可或缺的一种手段。 回想起初集中式部署的单体应用&#xff0c;因为只有一个节点&#xff0c;因此当该节点出现任意类型的故障&#xff08;网络、硬件…

《Java面试自救指南》(专题四)Java基础

文章目录 有序集合有哪些?线程安全的集合有哪些&#xff1f;HashMap底层原理ConcurrentHashMap的底层数据结构ArrayList底层原理&#xff0c;ArrayList和Vector/LinkedList的区别String&#xff0c;StringBuffer&#xff0c;StringBuilder的区别 扩展&#xff1a;String不可变…

训练营第十八天(二叉树part05)

第十八天 二叉树part05 513.找树左下角的值 力扣题目链接(opens new window) 题目 给定一个二叉树&#xff0c;在树的最后一行找到最左边的值。 示例 1: 示例 2: 解答 方法一&#xff08;笨方法&#xff0c;使用层次遍历迭代&#xff09; class Solution {public int fi…

【ARM 嵌入式 C 常用数据结构系列 25.1 -- linux 双向链表 list_head 使用详细介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 内核双向链表双向链表的数据结构初始化双向链表在双向链表中添加元素遍历双向链表链表使用示例注意事项 内核双向链表 在Linux内核中&#xff0c;双向链表是一种广泛使用的数据结构&#xff0c;允许从任意节点高效地进行前向或后向…

蓝桥杯-冶炼金属(二分求最大最小)

P9240 [蓝桥杯 2023 省 B] 冶炼金属 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二分做法&#xff1a; #include<bits/stdc.h> using namespace std; #define int long long const int N 1e410; int n,a,b; int v[N],cnt[N]; int check(int x){for(int i1;i<n;i…

写JDBC遇到的问题

执行会出现以下错误信息 java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ? and loginPwd ? at line 1 at com.mysql.cj.jdbc.exceptions…

05-延迟任务精准发布文章

延迟任务精准发布文章 1)文章定时发布 2)延迟任务概述 2.1)什么是延迟任务 定时任务&#xff1a;有固定周期的&#xff0c;有明确的触发时间延迟队列&#xff1a;没有固定的开始时间&#xff0c;它常常是由一个事件触发的&#xff0c;而在这个事件触发之后的一段时间内触发…

鸿蒙OS元服务开发:【(Stage模型)学习窗口沉浸式能力】

一、体验窗口沉浸式能力说明 在看视频、玩游戏等场景下&#xff0c;用户往往希望隐藏状态栏、导航栏等不必要的系统窗口&#xff0c;从而获得更佳的沉浸式体验。此时可以借助窗口沉浸式能力&#xff08;窗口沉浸式能力都是针对应用主窗口而言的&#xff09;&#xff0c;达到预…

LeetCode 1017. 负二进制转换

解题思路 相关代码 class Solution {public String baseNeg2(int n) {if(n0) return "0";String s"";while(n!0)if(Math.abs(n)%20){nn/(-2);ss0;}else{ss1; n (n-1)/(-2);}String t reverse(s);return t;}public String reverse(String s){Str…

C++——位图和布隆过滤器

在C中&#xff0c;哈希这种思想的应用场景有很多&#xff0c;位图就是其中的一种。 位图 位图&#xff1a;位图是一种哈希思想的产物&#xff0c;可以通过它来对数据进行快速的查找的方法&#xff0c;在位图中&#xff0c;有2种状态来表示在或者不在&#xff0c;即1/0。 位图…

vue2中的局部组件和全局组件

注&#xff1a;vue2中使用组件远没有vue3中简单&#xff0c;具体可以看阿耿老师的lingshi小程序 如图所示&#xff1a;

web学习笔记(五十二)数据库

目录 1. 数据库的相关概念 1.1 什么是数据库 1.2 常见数据库的分类 1.3 传统型数据库的数据组织结构 1.4 补充 2. 使用 SQL 管理数据库 2.1 什么是 SQL&#xff1f; 2.2 SQL 能做什么 2.3 SQL 的 SELECT 语句 2.4 SQL 的 INSERT INTO 语句 2.5 SQL 的 UPDATE 语…

MySQL批量插入,如何判断重复

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 需要把其他库或者E…

PyQt6实战6--高亮

PyQt6实战3--sql查询器-CSDN博客 在sql查询器的基础上添加了sql语法的高亮 运行效果&#xff1a; 代码&#xff1a; 只需要在原来的代码上添加一行 rightTopLayout QVBoxLayout()rightTopLayout.addWidget(QLabel("输入sql:"))self.sql QTextEdit() #加一行高亮&…

清明假期作业

1、实现文件夹的拷贝功能 注意判断被拷贝的文件夹是否存在&#xff0c;如果不存在则提前 不考虑递归拷贝的问题 #include<myhead.h> int my_copy(char* name,const char *p) {char buf[256]"./";strcat(buf,p);strcat(buf,"/");strcat(buf,name);in…

文件夹批量重命名,高效翻译支持中文转日语,轻松管理文件

在信息爆炸的时代&#xff0c;我们每天都在与大量的文件打交道。你是否曾为如何高效管理这些文件而苦恼&#xff1f;是否曾在中文与日语文件之间转换时感到无助&#xff1f;今天&#xff0c;我要为大家介绍一款神奇的工具——文件批量改名高手&#xff0c;它能帮助你批量重命名…

【C++】map set 底层刨析

文章目录 1. 红黑树的迭代器2. 改造红黑树3. map 的模拟实现4. set 的模拟实现 在 C STL 库中&#xff0c;map 与 set 的底层为红黑树&#xff0c;那么在不写冗余代码的情况下使用红黑树同时实现 map 与 set 便是本文的重点。 1. 红黑树的迭代器 迭代器的好处是可以方便遍历&…

二季度必胜!创维汽车季度营销会议探索未来新可能

总结旧岁月&#xff0c;开启新篇章。2024年4月2日&#xff0c;创维汽车召开“向死而生&#xff0c;破茧成蝶”季度营销会议。本次会议总结复盘了一季度营销团队的工作并对即将到来的二季度进行了规划部署。创维集团、创维汽车创始人黄宏生先生&#xff0c;创维汽车总裁&#xf…

算法——链表(1)

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享链表专题的第一部分 如果有不足的或者错误的请您指出! 1.链表常用技巧总结 1.1引入虚拟头结点 在力扣上,基本提供的链表题目都是"无头的",但是针对无头链表,我们最…

C语言-预定义符号

编译和链接&#xff08;基础速通版&#xff09;-CSDN博客https://blog.csdn.net/Jason_from_China/article/details/137182220 预定义符号 包含 C语⾔设置了⼀些预定义符号&#xff0c;可以直接使⽤&#xff0c;预定义符号也是在预处理期间处理的。 __FILE__ //进⾏编译的…