欧拉函数+欧拉定理

Visible Lattice Points

写这篇博客是因为上面那个题,人家是欧拉函数,看我这贪心一下午…

定义:欧拉函数是小于x的整数中与x互质的数的个数,一般用φ(x)表示。例如φ(6)=2.特殊的,φ(1)=1。
求法:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),其中p1,p2……pn为x的所有质因数,x是不为0的整数.
证明:容斥原理,详细的过程略…懒得敲了
定义直接求代码:

int Euler(int x)
{
    int ans = x;
    for(int j = 2;j<=x/j;j++)
    {
        if(x%j==0)
        {
            ans = ans/j*(j - 1);
            while(x%j==0)
                x/=j;
        }
    }
    if(x>1)ans = ans/x*(x - 1);
    return ans;
}

记忆数组+打表

int num[maxn];
void Euler(int a)
{
	num[1] = 1;
    for(int i = 2;i<=a;i++)
    {
        if(!num[i])
        {
            for(int j = i;j<=a;j+=i)
            {
                if(!num[j])
                	num[j] = j;
                num[j] = num[j]/i*(i-1);
            }
        }
    }
}

当求出欧拉函数时候,欧拉定理也就出来了。
欧拉定理 :
对于互质的正整数 a 和 n ,有 a^φ(n) ≡ 1 ( mod n ),如果n为质数的话,那么就成了费马定理了,既:a^(p - 1) ≡ 1( mod p ) ,还有几个的性质以及证明,附:大佬博客

大数据Flink从入门到原理到电商数据分析实战项目

11-07
如今的大数据技术应用场景,对实时性的要求已经越来越高。作为新一代大数据流处理框架,由于非常好的实时性,Flink独树一帜,在近些年引起了业内极大的兴趣和关注。Flink能够提供毫秒级别的延迟,同时保证了数据处理的低延迟、高吞吐和结果的正确性,还提供了丰富的时间类型和窗口计算、Exactly-once 语义支持,另外还可以进行状态管理,并提供了CEP(复杂事件处理)的支持。Flink在实时分析领域的优势,使得越来越多的公司开始将实时项目向Flink迁移,其社区也在快速发展壮大。 目前,Flink已经成为各大公司实时领域的发力重点,特别是国内以阿里为代表的一众大厂,都在全力投入,不少公司为Flink社区贡献了大量源码。如今Flink已被很多人认为是大数据实时处理的方向和未来,很多公司也都在招聘和储备了解掌握Flink的人才。 本教程将Flink理论与电商数据分析项目实战并重,对Flink基础理论知识做了系统的梳理和阐述,并通过电商用户行为分析的具体项目用多个指标进行了实战演练。为有志于增加大数据项目经验、扩展流式处理框架知识的工程师提供了学习方式。 二、教程内容和目标 本教程主要分为两部分: 第一部分,主要是Flink基础理论的讲解,涉及到各种重要概念、原理和API的用法,并且会有大量的示例代码实现; 第二部分,以电商作为业务应用场景,以Flink作为分析框架,介绍一个电商用户行为分析项目的开发实战。 通过理论和实际的紧密结合,可以使学员对Flink有充分的认识和理解,在项目实战中对Flink和流式处理应用的场景、以及电商分析业务领域有更深刻的认识;并且通过对流处理原理的学习和与批处理架构的对比,可以对大数据处理架构有更全面的了解,为日后成长为架构师打下基础。 三、谁适合学 1、有一定的 Java、Scala 基础,希望了解新的大数据方向的编程人员 2、有 Java、Scala 开发经验,了解大数据相关知识,希望增加项目经验的开发人员 3、有较好的大数据基础,希望掌握Flink及流式处理框架的求职人员
©️2020 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值