C++ 数论相关题目(欧拉函数、筛法求欧拉函数)

1、欧拉函数

给定 n
个正整数 ai
,请你求出每个数的欧拉函数。

欧拉函数的定义
1∼N
中与 N
互质的数的个数被称为欧拉函数,记为 ϕ(N)

若在算数基本定理中,N=pa11pa22…pamm
,则:
ϕ(N)
= N×p1−1p1×p2−1p2×…×pm−1pm
输入格式
第一行包含整数 n

接下来 n
行,每行包含一个正整数 ai

输出格式
输出共 n
行,每行输出一个正整数 ai
的欧拉函数。

数据范围
1≤n≤100
,
1≤ai≤2×109
输入样例:
3
3
6
8
输出样例:
2
2
4
题解:主要是理解并记住公式。(欧拉函数证明)
在这里插入图片描述

#include <iostream>using namespace std;int n;int main ()
{cin >> n;while(n -- ){int a;cin >> a;int res = a;for(int i = 2; i <= a / i; i ++ ){if(a % i == 0){res = res / i * (i - 1);while(a % i == 0)a /= i;}}if(a > 1) res = res / a * (a - 1);cout << res <<endl;}return 0;
}

2、筛法求欧拉函数

给定一个正整数 n
,求 1∼n
中每个数的欧拉函数之和。

输入格式
共一行,包含一个整数 n

输出格式
共一行,包含一个整数,表示 1∼n
中每个数的欧拉函数之和。

数据范围
1≤n≤106
输入样例:
6
输出样例:
12
在这里插入图片描述
在这里插入图片描述

#include <iostream>
#include <algorithm>using namespace std;const int N = 1000010;int primes[N], cnt; //primes存质数,cnt是下标
int phi[N]; //存欧拉函数值
bool st[N]; //表示某个数是不是被筛掉了long long get_eulers(int n)
{phi[1] = 1;for(int i = 2; i <= n; i ++ ){if(!st[i]) //没被筛掉一定是质数{primes[cnt ++ ] = i;phi[i] = i - 1;}for(int j = 0; primes[j] <= n / i; j ++ ) //筛{st[primes[j] * i] = true;if(i % primes[j] == 0){phi[primes[j] * i] = phi[i] * primes[j];break;}phi[primes[j] * i] = phi[i] * (primes[j] - 1);}}long long  res = 0;for(int i = 1; i <= n; i ++ )res += phi[i];return res;
}int main ()
{int n;cin >> n;cout << get_eulers(n) << endl;return 0;
}

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

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

相关文章

Salesforce Lightning 的 Close Case 按钮无法批量关闭 Case 的原因和解决方法

为 Lightning 页面添加了自定义的 Close Case 按钮&#xff08;方法可参考&#xff1a;https://www.simplysfdc.com/2021/01/salesforce-mass-close-case.html&#xff09;后&#xff0c;可能会出现无法批量关闭 Case 的情况。 选中多个 Case&#xff0c;再点击 Close Case 按…

基于Springboot的影城管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的影城管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

JAVA笔记16--线程

进程 进程是处于运行过程中的程序&#xff0c;具有独立的功能&#xff0c;是系统进行资源分配和调度的独立单位。 独立性 进程是系统重独立存在的实体&#xff0c;它拥有自己独立的资源&#xff0c;每个进程都拥有自己私有的地址空间&#xff0c;在没有经过进程本身允许的情…

leetcode1237. 找出给定方程的正整数解

1237. 找出给定方程的正整数解https://leetcode.cn/problems/find-positive-integer-solution-for-a-given-equation/ 难度中等 101 给你一个函数 f(x, y) 和一个目标结果 z&#xff0c;函数公式未知&#xff0c;请你计算方程 f(x,y) z 所有可能的正整数 数对 x 和 y。满…

在线教育系统源码深度剖析:从零开始开发一款企业培训APP

下文&#xff0c;笔者将与大家一起深入研究在线教育系统源码&#xff0c;同时探究从零开始开发一款面向企业培训的APP所涉及的关键技术和流程。 一、背景介绍 企业培训是组织内部不可或缺的一环&#xff0c;而在线教育系统通过数字化手段&#xff0c;使培训更加灵活、个性化。…

访问网站时IP被阻止?5个解决方法

相信很多人遇到过IP禁令&#xff1a;比如你在访问社交媒体、搜索引擎或电子商务网站时会被限制访问&#xff0c;又或者你的的账号莫名被封&#xff0c;这些由于网络上的种种限制我们经常会遭遇IP被封的情况&#xff0c;导致无法使用继续进行网络行动。在本文中&#xff0c;我们…

红帽认证有啥用?初级红帽认证证书值得考吗?

大家好&#xff0c;这里是G-LAB IT实验室。 今天我们来了解一下Linux红帽认证。 红帽认证已成为企业和个人竞相追逐的热门资质。 红帽认证认可度究竟如何?红帽RHCSA认证含金量又有多高? 下面G-LAB将为你一一解答。 1 、红帽认证认可度怎么样&#xff1f; 事实上&#xff0…

钉钉互动卡片对接-普通互动卡片接入流程

这里写目录标题 一、创建内部应用二、搭建普通卡片模板三、调用互动卡片服务端接口接口报文一、发送卡片二、更新卡片三、获取token 一、创建内部应用 登录开发者后台&#xff0c;创建内部应用。 例如 百度-内部测试获取AppKey和AppSecret&#xff0c; 获取应用访问凭证获取企…

cmd_to_robot 讨论及 G29 控制优化

cmd_to_robot 讨论及 G29 控制优化 cmd_to_robot 讨论 转向电机控制代码中&#xff0c;补偿信息在循环中发布&#xff0c;转向完成信息在回调函数中发布 转动电机控制代码中&#xff0c;对转动电机的控制在转向完成的回调函数中实现 这就意味着如果一直没有 /cmd_vel 消息发…

蓝桥杯备赛 week 1 —— DP 背包问题

目录 &#x1f308;前言&#x1f308;&#xff1a; &#x1f4c1; 01背包问题 分析&#xff1a; dp数组求解&#xff1a; 优化&#xff1a;滚动数组&#xff1a; &#x1f4c1; 完全背包问题 &#x1f4c1; 总结 &#x1f308;前言&#x1f308;&#xff1a; 这篇文章主…

第10次修改了可删除可持久保存的前端html备忘录

第10次修改了可删除可持久保存的前端html备忘录 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

ASTM F2057-23衣物收纳商品安全标准

美国每年均有大量因衣物存放装置翻倒而造成人员伤害甚至死亡的报道。 因此&#xff0c;美国消费品安全委员会CPSC于2023年4月19日发布决定&#xff0c;将ASTM F2057-23作为美国消费品安全委员会的强制性安全标准&#xff0c;替代16 CFR 1261&#xff0c;以此更好保护消费者免受…

关于Linux系统的目录结构介绍常用命令介绍

目录 一. Linux系统目录结构介绍 二. 一些常用命令的介绍 1、# 与 $的区别 2、ifconfig 3、su 4、cd 5、目录查看 6、查看文件内容 7、创建目录及文件 8、复制和移动 9、其他 10、tar 11、which 12、whereis 13、find 14、chmod 三. vim的基本使用 四. SSH密…

QT+C++桌面程序窗体框架模板-中英文切换-文件打开历史记录-工具选项设置

程序示例精选 QTC桌面程序窗体框架模板-中英文切换-文件打开历史记录-工具选项设置 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《QTC桌面程序窗体框架模板-中英文切换-文件打开历史记录-…

认识数学建模

文章目录 1 什么是数学建模2 数学建模的比赛形式3 参加数学建模的好处4 数学建模的流程5 数学建模成员分工6 数学建模常用软件7 数学建模竞赛7.1 美国大学生数学建模竞赛7.2 MathorCup高校数学建模挑战赛7.3 华中杯大学生数学建模挑战赛7.4 认证杯数学建模网络挑战赛7.5 华东杯…

Web08--JavaScript高级

1、BOM对象 BOM&#xff1a;browser object model 浏览器对象模型 BOM对象包括window对象、screen对象、history对象、location对象、navigator对象。 1.1 window对象 所有的浏览器都支持window对象。它表示的浏览器窗口 window对象是js中的顶层对象&#xff0c;所有的j…

HAL STM32+EC11编码器实现增减调节及单击、双击、长按功能

HAL STM32EC11编码器实现增减调节及单击、双击、长按功能 &#x1f4fa;实现效果演示&#xff1a; &#x1f4d8;内容提要 &#x1f4dd;本文主要实现&#xff0c;通过STM32 HAL库开发&#xff0c;实现的EC11编码器功能&#xff0c;按键结合状态机思想实现的拓展单击、双击、…

Web--HTML基础

文章目录 安装环境HTMLhtml框架html基础标签语义标签html特殊符号 安装环境 安装vscode后 安装插件 可以先不写后台直接将前度界面展示出来 自动补全tag&#xff0c;同时修改tag时自动改另一半 在设置里将保存自动格式化的选项勾上 创建一个index.htm文件&#xff0c;这个…

力扣80、删除有序数组中的重复项Ⅱ(中等)

1 题目描述 图1 题目描述 2 题目解读 对于有序数组nums&#xff0c;要求在不使用额外数组空间的条件下&#xff0c;删除数组nums中重复出现的元素&#xff0c;使得nums中出现次数超过两次的元素只出现两次。返回删除后数组的新长度。 3 解法一&#xff1a;双指针 双指针法可以…

防御第三次作业-防火墙组网实验(3)

目录 实验拓扑图 要求 1 2 针对10.0.2.10设备的安全策略&#xff1a; 针对10.0.2.20设备的安全策略&#xff1a; 3 4 实验拓扑图 各设备ip和接口已配好&#xff0c;均可可ping通防火墙。 要求 1.生产区在工作时间内可以访问dmz区域&#xff0c;仅可以访问http服…