莫比乌斯函数

积性函数定义

 若gcd(p,q)=1,有f(p*q)=f(p)*f(q),则f(x)是积性函数

其中规定f(1)=1,对于积性函数有:所有的积性函数都可以用筛法求出

常见的积性函数有欧拉函数和莫比乌斯函数

筛法求莫比乌斯函数

const int N = 1e9 + 5;
const int max1 = 1e9;
int b[N], prime[N], mo[N];
int cnt;
void init()
{memset(b, 1, sizeof(b));b[0] = b[1] = 0;mo[1] = 1;for (int i = 2; i <= max1; i++) {if (b[i]) {prime[++cnt] = i;mo[i] = -1;//质数的莫比乌斯函数值为-1}for (int j = 1; j <= cnt && prime[j] * i <= max1; j++)//质数的质数倍,保证不做重复运算{b[prime[j] * i] = 0;//标记为0,即为非质数if (i % prime[j] == 0) break;//解释为i的最小素因子是prime[j],但我猜测此时i==prime[j]mo[prime[j] * i] = -mo[i];//由于prime[j]是质数且i不是prime[j]整数倍,所以就会多出一个质数,即变为相反}}
}

判断某一个莫比乌斯函数值且n较大筛法无法筛出时可以使用类似于素因子分解逐级乘上去

int n;cin >> n;int ans = 1;for (int i = 2; i * i <= n; i++) {if (n % i == 0) {if (n % (i * i) == 0) {cout << 0 << endl;return 0;}while (n % i == 0) n /= i;ans *= (-1);}}if (n) ans *= (-1);cout << ans << endl;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【STM32】STM32学习笔记-编码器接口测速(20)

00. 目录 文章目录 00. 目录01. 预留02. 编码器测速接线图03. 编码器测速程序示例04. 程序下载05. 附录 01. 预留 02. 编码器测速接线图 03. 编码器测速程序示例 Encoder.h #ifndef __ENCODER_H #define __ENCODER_Hvoid Encoder_Init(void); int16_t Encoder_Get(void);#en…

lumina电源维修CCPF-3800/1000-900P-SW Univ Mnt

维修产品有&#xff1a;靶材电源维修&#xff1b;等离子电源维修&#xff1b;镀膜机电源维修&#xff1b;射频电源维修&#xff1b;ICP电源维修&#xff1b;镀膜机控制器维修&#xff1b;RF电源维修&#xff1b;匹配器维修&#xff1b;电源控制器维修&#xff1b;氧化源控制器维…

万界星空科技MES系统中的生产管理

MES系统能够帮助企业实现生产计划管理、生产过程控制、产品质量管理、车间库存管理、项目看板管理等&#xff0c;提高企业制造执行能力。 万界星空MES系统特点&#xff1a; 1. 采用强大数据采集引擎、整合数据采集渠道&#xff08;RFID、条码设备、PLC、Sensor、IPC、PC等&…

16|连接数据库:通过链和代理查询鲜花信息

16&#xff5c;连接数据库&#xff1a;通过链和代理查询鲜花信息 新的数据库查询范式 下面这个图&#xff0c;非常清晰地解释了这个以 LLM 为驱动引擎&#xff0c;从自然语言的&#xff08;模糊&#xff09;询问&#xff0c;到自然语言的查询结果输出的流程。 这种范式结合了…

elementui loading自定义图标和字体样式

需求&#xff1a;页面是用了很多个loading&#xff0c;需要其中有一个字体大些&#xff08;具体到图标也一样的方法&#xff0c;换下类名就行&#xff09; 遇见的问题&#xff1a;改不好的话会影响其他的loading样式&#xff08;一起改变了&#xff09; 效果展示 改之前 改之…

C++完成Query执行sql语句的接口封装和测试

1、在LXMysql.h 创建Query执行函数 //封装 执行sql语句 if sqllen 0 strlen获取字符长度bool Query(const char*sql,unsigned long sqllen0); 2、在LXMysql.cpp编写函数 bool LXMysql::Query(const char* sql, unsigned long sqllen){if (!mysql)//如果mysql没有初始化好{c…

知识图谱与云计算

内容来自B站视频 复旦 肖仰华 老师的讲座&#xff0c;记在这里&#xff0c;不然一会就忘了。 https://www.bilibili.com/video/BV1HG4y1h7zK/?p5&spm_id_frompageDriver 智能的发展是由感知到认知&#xff0c;当下需要发展机器的认知能力。 实现认知智能需要人工智能的很…

01第一个Mybatis程序+引入Junit+引入日志文件logback

Mybatis MyBatis本质上就是对JDBC的封装&#xff0c;通过MyBatis完成CRUD。而对于JDBC&#xff0c;SQL语句写死在Java程序中&#xff0c;不灵活。改SQL的话就要改Java代码。违背开闭原则OCP。对于事务机制&#xff0c;MyBatis支持 或managed模式&#xff0c;JDBC模式中MyBatis…

2023-我的CSDN创作之旅

1.博客内容与数量 2023年共发表博客59篇&#xff0c;内容主要集中在GIS&#xff0c;空间分析等领域 主要内容有&#xff1a; networkx学习 Geospatial Data Science Geocomputation ESDA in PySal SHAP Spatial Data Analysis BikeDNA 以下是对这几个章节主要内容的简…

你的网站或许不需要前端构建(二)

前一阵&#xff0c;有朋友问我&#xff0c;能否在不进行前端编译构建的情况下&#xff0c;用现代语法开发网站界面。 于是&#xff0c;就有了这篇文章中提到的方案。 写在前面 这篇文章&#xff0c;依旧不想讨论构建或不构建&#xff0c;哪一种方案对开发更友好&#xff0c;…

改善 GitHub Pages 阅读体验:Quick Docs

一个不到 10MB 的小工具&#xff0c;来提供本地、快速的文档访问&#xff0c;来改善开发过程中&#xff0c;阅读在线文档体验糟糕的问题。 以及&#xff0c;介绍如何快速制作一个利于分发使用的&#xff0c;离线文档工具包。 写在前面 即使现在 AI 辅助编码和 Chat Bot 类的…

【linux】线程同步+基于BlockingQueue的生产者消费者模型

线程同步基于BlockingQueue的生产者消费者模型 1.线程同步2.生产者消费者模型3.基于BlockingQueue的生产者消费者模型 喜欢的点赞&#xff0c;收藏&#xff0c;关注一下把&#xff01; 1.线程同步 在线程互斥写了一份抢票的代码&#xff0c;我们发现虽然加锁解决了抢到负数票的…