acwing 质数 约数 欧拉函数

目录

  • 质数
    • 试除法定质数
    • 分解质因数
    • 筛质数
  • 约数
    • 试除法求约数
    • 乘积的约数个数
    • 最大公约数
  • 欧拉函数
  • 筛法求欧拉函数和

质数

试除法定质数

bool is_prime(int num)
{if(num < 2)return false;for(int i = 2; i <= num / i; ++i)if(num % i == 0)return false;return true;
}

分解质因数

	// 一个数最小的因数就是质因数int n, num;cin >> n;for(int j = 0; j < n; ++j){cin >> num;for(int i = 2; i <= num / i; ++i){if(num % i == 0){int cnt = 0;while(num % i == 0){num /= i;cnt++;}cout << i << " " << cnt << endl;}}if(num  > 1)cout << num << " " << 1 << endl;cout << endl;}

筛质数

void get_prime()
{for(int i = 2; i <= n; ++i){if(visited[i] == false)primes[idx++] = i;  // 埃式筛法for(int j = i + i; j <= n; j += i)visited[j] = true;}
}

约数

试除法求约数


int main()
{cin >> n;for(int i = 0; i < n; ++i){cin >> num;vector<int> ret;            // 包含1和num本身for(int j = 1; j <= num / j; ++j){if(num % j == 0){ret.push_back(j);   // 这里可同时获得两个约数if(j != num / j)ret.push_back(num / j);}}sort(ret.begin(), ret.end());for(auto a : ret)cout << a << " ";cout << endl;}return 0;
}

乘积的约数个数

const int mod = 1e9 + 7;
int main()
{cin >> n;for(int i = 0; i < n; ++i){cin >> num;for(int j = 2; j <= num / j; ++j){               // 试除法求质因数及其指数while(num % j == 0){num /= j;all[j]++;}}if(num != 1)    // num本身是一个大的质因数all[num]++;}long long ret = 1;for(auto &a : all)  // 乘积总约数个数:质因数指数+1的乘积ret = ret * (a.second + 1) % mod;cout << ret;return 0;
}

最大公约数

int gcd(int a, int b)
{return b ? gcd(b, a % b) : a;
}

欧拉函数

在这里插入图片描述


int main()
{int n;cin >> n;while(n--){int num;cin >> num;int ret = num;for(int i = 2; i <= num / i; ++i){if(num % i == 0){               // 注意运算顺序ret = ret / i * (i - 1) ;while(num % i == 0)num /= i;}}if(num > 1)ret = ret / num * (num - 1) ;cout << ret << endl;}return 0;
}

筛法求欧拉函数和

void get_phi(int n)
{phi[1] = 1;for(int i = 2; i <= n; ++i){if(visited[i] == false){primes[idx++] = i;              // 获取质数phi[i] = i - 1;                 // 质数的欧拉函数}for(int j = 0; primes[j] <= n / i; ++j){visited[primes[j] * i] = true;  // 标记非质数if(i % primes[j] == 0){                               // p[j]为i的质因数phi[primes[j] * i] = phi[i] * primes[j];break;}else                            // p[j]不为i的质因数,要另乘一个p[j]质因数项phi[primes[j] * i] = phi[i] * primes[j] / primes[j] * (primes[j] - 1);}}
}

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

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

相关文章

vue2 事件总线

原图下载&#xff1a;https://download.csdn.net/download/weixin_47401101/88788636

17. Spring Boot Actuator

17. Spring Boot Actuator Spring Boot执行器(Actuator)提供安全端点&#xff0c;用于监视和管理Spring Boot应用程序。 默认情况下&#xff0c;所有执行器端点都是安全的。 在本章中&#xff0c;将详细了解如何为应用程序启用Spring Boot执行器。 启用Spring Boot Actuator …

【Image captioning】论文阅读八—ClipCap: CLIP Prefix for Image Captioning_2021

中文标题&#xff1a;ClipCap: CLIP前缀用于图像描述&#xff08;ClipCap: CLIP Prefix for Image Captioning&#xff09; 文章目录 1. 介绍2. 相关工作3. 方法3.1 综述3.2 语言模型微调3.3 映射网络架构3.4 推理 4. 结果5. 结论 摘要&#xff1a;图像描述是视觉语言理解中的…

网站服务器中毒或是被入侵该怎么办?

随着互联网的普及和发展&#xff0c;网站服务器已经成为了企业和个人存储数据、展示信息的重要平台。然而&#xff0c;网络安全问题也日益突出&#xff0c;其中网站服务器中毒或被入侵的事件时有发生。一旦发生这种情况&#xff0c;不仅会导致网站无法正常运行&#xff0c;还可…

锂电池基本知识与设计

应用&#xff1a;笔记本电脑、智能手机等设备。 优点&#xff1a;较高能量密度和较长使用寿命&#xff0c;放电率低&#xff0c;可进一步延长充电间隔时间。 缺点&#xff1a;过度充电或者放电会产生不可逆的损伤&#xff0c;性能降低。高温环境下容易爆炸或者着火。 &#x…

函数、反函数

一、函数 1. 定义 设x与y是两个变量&#xff0c;D是一个给定的数集。若对于每一个x∈D&#xff0c;按照一定的法则f&#xff0c;都有一个确定的值y与之对应&#xff0c;则称y为x的函数&#xff0c;记作yf(x)&#xff0c;称x为自变量&#xff0c;y为因变量&#xff0c;称数集D…

GIT使用,看它就够了

一、目的 Git的熟练使用是一个加分项&#xff0c;本文将对常用的Git命令做一个基本介绍&#xff0c;看了本篇文章&#xff0c;再也不会因为不会使用git而被嘲笑了。 二、设置与配置 在第一次调用Git到日常的微调和参考&#xff0c;用得最多的就是config和help命令。 2.1 gi…

自动化脚本不稳定,原来是软件弹窗惹的祸,2个方法解决!

很多同学在学习 App 自动化或者在项目中落地实践 App 自动化时&#xff0c;会发现编写的自动化脚本无缘无故的执行失败、不稳定。 而导致其问题很大原因是因为应用的各种弹窗&#xff08;升级弹窗、使用过程提示弹窗、评价弹窗等等&#xff09;&#xff0c;比如这样的&#xff…

AP5193 DC-DC宽电压LED降压恒流驱动器 2.5A可PWM/线性调光IC 过EMC认证线路图

产品描述 AP5193是一款PWM工作模式,高效率、外围简 单、 内置功率MOS管&#xff0c;适用于4.5-100V输入的高精度 降压LED恒流驱动芯片。最大电流2.5A。 AP5193可实现线性调光和PWM调光&#xff0c;线性调 光 脚有效电压范围0.55-2.6V. AP5193 工作频率可以通过RT 外部电阻…

dvwa靶场文件上传high

dvwa upload high 第一次尝试&#xff08;查看是否是前端验证&#xff09;第二次尝试我的上传思路最后发现是图片码上传修改配置文件尝试蚁&#x1f5e1;连接菜刀连接 第一次尝试&#xff08;查看是否是前端验证&#xff09; 因为我是初学者&#xff0c;所以无法从代码审计角度…

数仓治理-计算资源治理

注&#xff1a;文章参考: 数据治理实践 | 网易某业务线的计算资源治理从计算资源治理实践出发&#xff0c;带大家清楚认识计算资源治理到底该如何进行&#xff0c;并如何应用到其他项目中https://mp.weixin.qq.com/s/w6d5zhDaaavNhW_DMEkPsQ 目录 一、计算资源治理的背景 二…

qt学习:tcp区分保存多个客户端

在前面文掌的tcp客服端服务端进行更改 qt学习&#xff1a;Network网络类tcp客户端tcp服务端-CSDN博客https://blog.csdn.net/weixin_59669309/article/details/135842933?spm1001.2014.3001.5501前面的服务端每次有新的客户端连接&#xff0c;就会覆盖掉原来的指针&#xff0…