Love you Ten thousand years(求原根个数+欧拉函数+原根定理)

初等数论--原根--原根间的关系,原根个数 信息安全数学基础--原根--原根间的关系,原根个数 博主是初学信息安全数学基础(整除+同余+原根+群环域),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。 ... 阅读详情

Love you Ten thousand years

 Love you Ten thousand years------Earth's rotation is a day that is the representative of a day I love you. True love, there is no limit and no defects. Earth's revolution once a year, it is on behalf of my love you more than a year. Permanent horizon, and my heart will never change ……

We say that integer x, 0 < x < n,(n is a odd prime number) is a LovePoint-based-on n if and only if the set { (x i mod n) | 1 <= i <= n-1 } is equal to { 1, ..., n-1 }. For example, the powers of 3 modulo 7 are 3, 2, 6, 4, 5, 1, and thus 3 is a LovePoint-based-on 7.
Now give you a integer n >= 3(n will not exceed 2 31).
We say the number of LovePoint-based-on n is the number of days the earth rotating.
Your task is to calculate the number of days someone loved you.

Input
Each line of the input contains an integer n. Input is terminated by the end-of-file.
Output
For each n, print a single number that gives the number of days someone loved you.
Sample Input

5

Sample Output

2
题意:

让我们求出小于n的数的个数,满足ki mod n,1≤i≤nki mod n,1≤i≤n是模n的完全剩余系

其实就是让我们求一个数n的原根个数

分析:

为什么是求原根的个数呢?原根又是什么呢?

这要从头说起。。。


如果a与p互质,费马小定理告诉我们

ap−1≡1 (mod p)ap−1≡1 (mod p)

当然对于a来说,有可能存在多个i满足1≤i≤p−1,ai≡1 (mod p)1≤i≤p−1,ai≡1 (mod p)

这样一来就一定可以存在一个最小的幂次e使得 ae≡1 (mod p)ae≡1 (mod p)

我们定义这个最小指数叫a模p的次数或阶

ep(a)=(使得ae≡1 (mod p)的最小指数e≥1)ep(a)=(使得ae≡1 (mod p)的最小指数e≥1)

那么就一定会存在这样的一个a (1≤a≤p−11≤a≤p−1)

ep(a)=p−1ep(a)=p−1

我们就称这样的a为模p的原根

对于原根a来说他的幂

a,a2,a3,a4,.....ap−3,ap−2,ap−1 (mod p)a,a2,a3,a4,.....ap−3,ap−2,ap−1 (mod p)

必须都是模p不同的(既然p-1个数模p都不同那么值一定是1,2,3….p-1了)

证明:

假设有两个模p后值相同的我们取幂次i,j,1≤i<j≤p−1i,j,1≤i<j≤p−1
有ai≡aj (mod p)ai≡aj (mod p)
两边同乘ajaj的逆元
有aj−i≡1 (mod p)aj−i≡1 (mod p)
其中指数j−ij−i一定小于p−1p−1
矛盾,故命题得证

原根定理:

每个素数p都有原根,有恰好ϕ(p−1)ϕ(p−1)个模p的原根

对于一般情况所有的数m来说并不一定有原根,但当模m有原根时,可以其原根个数为ϕ(ϕ(m))ϕ(ϕ(m))

(和费马小定理推广为欧拉定理类似)

以上均为现成的定理,这里不再一一证明,以后会专门证明这些定理

code:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int Euler(int n){
    int ans = n;
    for(int i = 2; i * i <= n; i++){
        if(n % i == 0){
            ans = ans / i * (i - 1);
            while(n % i == 0) n /= i;
        }
    }
    if(n > 1) ans = ans / n * (n - 1);
    return ans;
}
int main(){
    int n;
    while(~scanf("%d",&n)){
        printf("%d\n",Euler(Euler(n)));
    }
    return 0;
}
原根和指数表 学习信息安全的童鞋们注意了,这是我在计算器基础上写的原根和指数表的app,可以求一个素数的原根和所有原根,并打出指数表 立即下载

相关推荐

ESP8266 + MQTT :如何实现 LED 灯的远程控制

MQTT 是轻量级的、灵活的物联网消息交换和数据传递协议,致力于为 IoT 开发人员实现灵活性与硬件/网络资源的平衡。 NodeMCU 是一个开源的物联网平台。它使用 Lua 语言编程。该平台基于eLua开源项目,底层使用ESP8266 sdk 0.9.5版本。 在此项目中我们将实现 NodeMCU(ESP8266) 与 EMQ X Cloud 运营和维护的免费公共 MQTT 服务器远程控制 LED 灯,并使用 Arduino IDE 来对 NodeMCU ESP8266 进行编程。 EMQ X Cloud

emqx_broker的博客 3356

[欧拉函数]求原根个数

题面描述 【输入格式】 第一行n(1<=n<=10000) 下来n行,每行一个整数p,p保证为质数,表示求p的原根的数目。(1<=p<=2000 0000) 【输出格式】 每次询问输出一行一个整数,即x的原根的数目。 【样例输入】 3 23 31 79 【样例输出】 10 8 24 思路 原根个数是phi[phi[i]]个,我也不知道为什么? 代码 #include&lt...

lb2003 1536

【网络协议】TCP的拥塞控制机制

前言 计算机网络中的带宽、交换节点中的缓存和处理机等,都是网络的资源,在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。 所谓拥塞控制,就是防止过多的数据注入到网络中,从而使网络中的路由器或链路不致过载。要注意用拥塞控制与流量控制的区别,拥塞控制是一个全局性的过程,涉及到所有的额主机、路由器,以及与降低网 拥塞控制的算法有:慢开始、拥塞避免、快重传、快恢复四种。 慢开始和拥塞避免 发送方维持一个拥塞窗口的状态变量,其大小取决于网络的拥塞程度

兰亭风雨的专栏 1万+

POJ1284 Primitive Roots-欧拉函数求原根个数

转自http://blog.sina.com.cn/s/blog_6a46cc3f0100tvsq.html这一题主要是用到了两个定理:1)所有的奇素数都是有原根的2)一个数n有原根,那么他有phi(phi(n))个模n不同余的原根(n是否素数都可用)3)一个素数有原根,则有phi(n-1)个原根证明:假设奇素数n的原根为r,那么r,r^1,r^2...r^phi(n)是模n不同于的,由于(r^i...

。 400

损失函数大汇总(五十三)(Boundary Loss附公式推导与代码)

摘要 Boundary Loss是一种针对图像分割任务的新型损失函数,特别适用于高度类别不平衡的细粒度分割场景。与传统的区域型损失(如Dice、交叉熵)不同,它通过计算预测边界与真实边界之间的距离来优化模型,更关注边界精度而非区域重叠。核心思想是利用距离图(distance map)将边界约束转化为区域积分形式,实现端到端训练。具体实现中,损失函数为预测概率与距离图的点积,梯度仅取决于距离图,具有明确的空间引导性。相比区域型损失,Boundary Loss能更好处理小目标、细长结构等边界敏感任务,可与Dic

悦学共鸣,温柔以待,汇聚光芒,共同成长 237

“华为杯”研究生数学建模竞赛2020年-【华为杯】E题:能见度估计与预测(附获奖论文及python代码实现)

因此,题目要求借助机场的 AMOS 观测数据中的气压、温度、湿度、风速等气象因子,达到 100% 时,空气中的水汽便会凝结成细微的水滴悬浮于空中,使地面水平的能见度下。传统的仪器探测法成本高,覆盖范围小,而基于视频的能见度检测能弥补仪器测量的不足之处,但是预测精度不高,需要进一步改。象条件,空气质量的影响,其中较为关键的影响因子是雾和霾。性过强,激光能见度仪的检测方法更为可信,但是激光能见度仪覆盖的检测范围小,安装。覆盖的交通视频路况数据间接计算得到能见度数值的方法,此方法成本较低,覆盖范围广。

getusushu的博客 2280

poj - 1284 欧拉函数的应用 求原根个数

题解

axuhongbo的博客 549

C#中通过Mapster实现轻量级高效对象映射器:从零到精通

本文介绍了.NET生态中高性能对象映射库Mapster的完整使用指南。从基础安装(通过NuGet包)到快速入门示例,展示了如何实现简单对象映射。进一步讲解了自定义映射规则、命名不一致属性的处理方式,以及如何在ASP.NET Core中集成Mapster服务。针对复杂场景,详细解析了嵌套对象映射的配置技巧,并提供了性能优化方案(如预编译映射器)和调试技巧(启用调试模式、捕获映射异常)。通过完整的代码实践,帮助开发者高效解决从基础到高级的对象映射需求。

墨夶的博客 742

原根-快速求解一个数的原根

1.原根定义 假设一个数g对于P来说是原根,那么g^i mod P的结果两两不同,且有 1 简单来说,g^i mod p ≠ g^j mod p (p为素数) 其中i≠j且i, j介於1至(p-1)之间 则g为p的原根。   简单的来说,如果g是P的原根,那么g的(1...P-1)次幂mod P的结果一定互不相同。   那么简化一下: 首先看一下欧拉定理: 欧拉定理(也称费

zhang20072844的专栏 6万+

【数据同化第二期】数据同化中三大理论基础之一(最小方差估计)

【数据同化第二期】深入理解数据同化及经典案例(最小方差估计)

WW、forever的博客 1596

YOLOv5改进 | 注意力篇 | iRMB倒置残差块注意力机制(轻量化注意力机制,附二次创新)

本文给家大家带来的改进机制是iRMB,其是在论文Rethinking Mobile Block for Efficient Attention-based Models种提出,论文提出了一个新的主干网络EMO(后面我也会教大家如何使用该主干,本文先教大家使用该文中提出的注意力机制)。其主要思想是将轻量级的CNN架构与基于注意力的模型结构相结合(有点类似ACmix)我将iRMB和C2f结合,然后也将其用在了检测头种进行尝试三种结果进行对比,针对的作用也不相同,但是无论那种实验均有一定涨点效果。

Snu77的博客 2570

信息安全与数学基础-笔记-⑤原根与阶

因为太乱了,我必须出手整理一下整个流程给自己复习。开始初识原根,原根是模m的简化剩余系中的成员。设原根a,次方数为e,a可能是简化剩余系中任何一个数字,e的范围是[1,m-1]

本散修的一些学习心得与笔记,道友请自便。 3428

标准测试测试数据STDF学习笔记

本文介绍了STDF(Standard Test Data Format)文件的结构与解析方法。首先详细说明了STDF记录的组成,包括记录头类型(REC_TYP和REC_SUB)、数据类型定义、时间日期格式以及无效数据标识。重点分析了25种主要记录类型的功能、数据内容和出现位置,如FAR、MIR、MRR等关键记录。然后介绍了基于pystdf开源工具的解析方法,包括自带脚本的使用和自编程解析流程,通过事件驱动机制处理数据流。特别指出测试数据是按照PIR→PTR/MPR/FTR→PRR的循环模式组织。文章为ATE

歌颂苦难的行为是无耻的; 1513

HDU 2619 - Love you Ten thousand years (原根)

Description: Love you Ten thousand years------Earth’s rotation is a day that is the representative of a day I love you. True love, there is no limit and no defects. Earth’s revolution once a year, it ...

邵光亮的博客 381

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

HDU - 2619 Love you Ten thousand years (数论,原根)

Love you Ten thousand years Love you Ten thousand years------Earth's rotation is a day that is the representative of a day I love you. True love, there is no limit and no defects. Earth's revolution ...

Error Man 的博客 401

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

hdu-2619 Love you Ten thousand years

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2619 题目大意: 求出小于n的数的个数,满足ki mod n,1≤i≤n是模n的完全剩余系 解题思路: n为奇素数,这个条件立马想到了原根,奇素数必定存在原根,而且每个原根a对应着一个模n简化剩余系。 n为奇素数,那么其欧拉函数值为n-1,简化剩余系就是1 2 3 ...... n ...

weixin_34397291的博客 194

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

如何求原根

说这种最好就是举个例子 比如说求81的所有原根   先说欧拉函数通式: 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数(小于等于1)就是1本身)。 (注意:每种质因数只一个。比如12=2*2*3那么φ(12)=12*(1-1/2)*(1-1/...

giantbranch的专栏 2万+

原根的求解及应用

原根的定义 首先引入数论中阶的定义 设a∈Z,m∈N+a\in Z, m\in N^+a∈Z,m∈N+,若gcd(a,m)=1gcd(a,m)=1gcd(a,m)=1,则称使得an≡1(mod  m)a^n\equiv 1(\mod m)an≡1(modm)成立的最小正整数nnn为aaa膜mmm的阶 接下来是阶的定义 设a∈Z,m∈N+a\in Z, m\in N^+a∈Z,m∈N+,若gcd(a,m)=1gcd(a,m)=1gcd(a,m)=1,且aaa膜mmm的阶为φ(m)\varphi(m)φ(

niiick 2217

简易原根计算

小白关于原根的理解和学习心路历程,望各位大佬指点,希望能帮上同样是小白的朋友。

qq_52154085的博客 1157

数论原根 及其求法

#include <iostream> #include <string.h> #include <algorithm> #include <stdio.h> #include <math.h> #include <bitset> using namespace std; typedef long long LL; const int N = 1000010; bits

Glory 的 博客 5542

密码学实验_8_本原根计算(python 实现)

实验

dc12499574的博客 959

【ybt金牌导航8-6-4】原根数量

给你一个奇质数 p,问你它原根的个数。

欢迎您的光顾awa 404

POJ1284 Primitive Roots 数论 求原根的个数

Primitive Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5642   Accepted: 3219 Description We say that integer x, 0 &lt; x &lt; p, is a primitive root modulo odd ...

紫芝的博客 1001

原根算法C语言,算法导论-----数论-----元素的幂

1.为a反复相乘生成的子群,(a)为a在中的阶,phi为规模 2.欧拉定理:对n>1,=1(modn),对所有a属于成立 3.费马定理:p素数,,=1(modp) 对所有a属于成立 4.原根:(g)=||,对模n,每个元素都是g的幂,g是的原根或生成元 若包含一个原根,则循环群 5.对所有素数p>2和正整数e,满足循环群n的值为2,4, 6.离散对数:g是中的原根,a是中任一元素,存在...

weixin_39653733的博客 694

原根求解方法

本文简单介绍了给定一个模数m(特别是奇素数), 利用穷举法或者相关引理结果来求其所有原根.

只想躺平不想动 5189

原根和离散对数BSGS求法(高次同余方程)

原根&离散对数 一.原根 1.定义: (a与m互质)使成立的最小的d(记住原根是a,不是d!) 2.原根的性质:一般给出p(有时叫m) 1.具有原根的数字仅有以下几种形式:,(p是奇质数) 2.一个数的最小原根的大小不超过 3.原根个数Φ(Φ(m))个,m为质数则原根个数Φ(m-1) 3.求解原根的基本步骤: 判断一个数是否有原根。(通过性质1,枚举质数即可) 求得最小...

zjyang12345的博客 1020
上一篇: Ice Rain(数论+分段思想)
下一篇: Summarize to the Power of Two(思维+暴力)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值