首页 > 其他分享 >积性函数

积性函数

时间:2023-07-06 20:24:48浏览次数:26  
标签:return 函数 积性 sum int id

 积性函数的定义:如果算数函数f对于任意两个素数p,q均有f(pq)=f(p)f(q),那么称算数函数f为积性函数

在狄利克雷卷积中较常见的几种函数:

1.单位函数  id(n)=n

2.幂函数  Ik(n)=nk

3.元函数  ε(n)=(n==1?1:0)

4.因数和函数  σ(n)=sum(d)(n/d)

5.约数个数  d(n)=sum(1)(n/d)

在此附上模板代码

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int id(int n){
	return n;
}
int Ik(int n,int k){
	return (int)(pow(n,k));
}
int e(int n){
	return (n==1?1:0);
} 
int S(int n){
	int ans=0;
	for(int i=1;i*i<=n;i++){
		if(n%i==0){
			ans+=i;
			if(n/i!=i)ans+=n/i;
		}
	}
	return ans;
}
int d(int n){
	int ans=0;
	for(int i=1;i*i<=n;i++){
		if(n%i==0){
			ans++;
			if(n/i!=i)ans++;
		}
	}
	return ans;
}
int main(){
	return 0;
}

  

积性函数比较常见的应用是狄利克雷卷积,莫比乌斯函数与反演,杜教筛等

标签:return,函数,积性,sum,int,id
From: https://www.cnblogs.com/zhanghx-blogs/p/17533238.html

相关文章

  • 农村高中生源转型期提升学生二次函数建模能力的课堂探究
        在培养农村高中生利用二次函数模型构建来对数学问题进行分析及求解意识的基础上,为了进一步锻炼学生的模型建构能力,帮助他们可以突破实际问题求解中的具体含义及意义,快速找到求解实际问题中的关键突破口,以及二次函数模型建构的视角与思维,这时候还要在数学教学中有计划......
  • ES6 的 新特性 3 箭头函数
    箭头函数的作用:1.比function这种写法更加简洁;2.可以解决thsi指向的问题,因为它不会创建自己的this,而是继承上一级作用域的this。使用场景:1.当函数内部不需要用到this的时候,都可以用箭头函数代替function;2.需要this,但是需要的是上一级作用域的this。箭头函数的几种写法:......
  • 时间处理函数
    /***个位数,加0前缀*@param{*}number*@returns*/importdayjsfrom'dayjs';exportnamespacetime{exportfunctionaddZeroPrefix(number){returnnumber<10?`0${number}`:number;}//functionaddZeroPrefix(n){......
  • 这样看C函数才对
    什么是函数?从定义来看,函数就是一段可以重复使用的代码块,比如下面这样voidhanshu(){inta=0;intb=3;}这时候就应该有人要跳出来了,这是什么**!确实,作为一个强烈反对屎山代码存在的编程者来说,一个好的函数应该是一个有着合理命名,并且功能紧凑的功能块,而不仅只是......
  • Mish激活函数
    前言人们对激活函数都在不断探究,而现在广泛应用的激活函数通常是relu,tanh这两种但是relu在负值的时候直接截断梯度下降的不够平滑因而有团队提出一种新的激活函数来进行优化Mish激活函数Mish激活函数的表达式为 Mish=x*tanh(ln(1+e^x))使用matplotlib画图可得从......
  • js的中的函数(二)
    构造函数JavaScript中,一个函数除了作为普通意义的函数外,还可以被用来定义为构造函数。什么是构造函数?就是可以用来生成一个对象的函数。例如:functionStudent(name,age,city,address){//this指向构造函数生成的对象this.name=name;this.age=ag......
  • C++内存模型&空指针、野指针、函数指针和回调函数
    C++内存模型&空指针、野指针、函数指针和回调函数C++内存模型栈与堆的区别:1.管理方式不同栈是系统自动管理的,在超出作用域后,将自动被释放堆是手动释放,若程序中不释放,程序结束后将由操作系统回收2.空间大小不同堆的大小受限于物理内存范围栈小的可怜,一般为8M(可通过更改......
  • Go 语言函数
    函数定义与调用packagemainimport"fmt"funcmain(){/*定义局部变量*/varaint=100varbint=200varretint/*调用函数并返回最大值*/ret=max(a,b)fmt.Printf("最大值是:%d\n",ret)}/*函数返回两个数的最大值*/fun......
  • 结构体,指针函数和数组初始化
    struct_m_malloc_dev{void(*init)(uint8_t);//初始化函数uint8_t(*perused)(uint8_t);//内存使用率uint8_t*membase[SRAMBANK];//内存池管理srambank个区域的内存uint16_t*memmap[SRAMBANK];//内存管理状态表uint8_tmemrdy[SRAMBANK];//内存管理......
  • 一个C++11的线程函数
    一个C++11的线程函数#include<iostream>#include<thread>#include<chrono>voidprintNumbers(){for(inti=1;i<=100;++i){std::cout<<i<<std::endl;std::this_thread::sleep_for(std::chrono::millis......