欧拉计划第3题:Largest prime factor(质因数分解)

MATLAB解欧拉计划:前5题数学优化与向量化实战 算法优化与数值计算是提升编程效率的核心。通过数学原理分析,如容斥原理、质因数分解和递推关系,能将问题复杂度从O(N)降至O(1)或O(logN),这是算法思维的关键。在工程实践中,结合特定工具如MATLAB的向量化操作,能进一步将数学优化转化为高性能代码,尤其适用于科学计算、数据分析等场景。本文以Project Euler前5题为例,深入探讨如何利用等差数列求和、偶数项递推、轮除算法等技巧,结合MATLAB的矩阵运算优势,实现从数学推导到高效代码的完整链路,其中向量化操作和质因数分解是提升性能的热点技术。 阅读详情

Problem 3:Largest prime factor

标签:质因数分解

原文:The prime factors of 131951319513195 are 555, 777, 131313 and 292929.

What is the largest prime factor of the number 600851475143600851475143600851475143?

翻译:131951319513195 的质因数包括 555、777、131313和292929。

600851475143600851475143600851475143 的最大质因数是多少?

题解:直接质因数分解进行求解即可,时间复杂度为 O(n)O(\sqrt n)O(n​)

算法流程:扫描 2−n2−\sqrt n2−n​ 的每个数 xxx,若 xxx 能整除 nnn,则从 nnn 中除掉所有质因子 xxx。

上述算法 保证一个合数的因子一定在扫描到这个合数之前除掉了,所以这个过程中所得到的能整除 nnn 的一定是质数。时间复杂度为O(n)O(\sqrt n)O(n​)。

代码:

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main() {
    ll n = 600851475143, mx = 0;
    for (ll i = 2; i <= sqrt(n); i++) {
        while (n % i == 0) {
            n /= i;
            mx = max(mx, i);
        }
    }
    if (n > 1) mx = max(mx, n);
    cout << n << endl;
    return 0;
}

“Project Euler exists to encourage, challenge, and develop the skills and enjoyment of anyone with an interest in the fascinating world of mathematics.”

“欧拉计划的存在,是为了每个对数学感兴趣的人,鼓励他们,挑战他们,并最终培养他们的能力与乐趣。”

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

相关推荐

DPABI安装教程

DPABI是是中科院心理研究所严超赣老师团队开发的一款磁共振脑影像数据分析工具包。基于SPM,在安装DPABI之前需要安装好SPM,才能正常使用。SPM的安装方法见文matlab2021a版本条件下安装spm_kidllll的博客-优快云博客 1、下载安装包 下载地址:DPABI: a toolbox for Data Processing & Analysis for Brain Imaging | The R-fMRI Network 2、将下载好的dpabi文件夹移动到matl..

qq_42356925的博客 1万+

【欧拉计划第 3 题】最大质因数 Largest prime factor

欧拉计划(Project Euler)第三题,Problem 3:Largest prime factor

董哲朋的博客 1628

抖音最新风控体系研究

小编从技术角度对抖音的风控史和落地目标,跟大家聊一聊抖音,包括海外版抖音TikTok的现状与生态。 1、非常非常早的时期,抖音刚出来的时候,没有任何封禁,这个阶段,导入一个开发库,加上一个请求头,咵咵咵的数据随便拿。 2、2018-2019年,抖音加入了设备id和xg机制,在绝大多数的接口中,携带了设备id参数,同时在请求头中加入了xg,如今的apk市场,能追溯到的最早xg是0200打头的,而小编见过的最早的xg是0000打头的。这个时期的接口,这些参数都还只是预设,没有实际的用处,设备随便写,

qq517348412的博客 1万+

求最大质因数

准备跟着公众号“数据结构和算法”刷题,希望能坚持下去 2020.11.23 1,最大质因数 13195的所有质因数为5、7、13和29。600851475143最大的质因数是多少?

想握住此生辽阔 3751

同花顺自动化交易避坑指南:pywinauto实战中验证码识别与界面弹窗处理

本文深入探讨同花顺自动化交易中的关键稳定性问题,重点解决验证码识别与弹窗处理两大难题。通过优化Tesseract OCR、整合打码平台API以及设计pywinauto弹窗监控体系,提供了一套完整的自动化交易解决方案,帮助交易者有效规避资金账户和持仓信息操作中的常见陷阱。

weixin_33734785的博客 485

Linux 系统管理员必备:Chrome 企业版离线部署全攻略(含 RPM/DEB 双版本)

本文详细介绍了Linux系统管理员如何离线部署Chrome企业版,涵盖RPM和DEB双版本。从获取官方离线安装包到静默安装、权限配置及企业级策略管理,提供全流程解决方案,特别适合Ubuntu等DEB系系统管理员参考。

f9g0h的博客 481

分解质因数 欧拉函数

NKOJ3801 分解质因数问题描述 记Pi表示正整数i的质因数集合。 已知正整数n,求满足下列条件的有序正整数对(a,b)的数目: (1)1<=a<=b<=n (2)t为a,b的最大公约数,Pt是Pn的子集 输入格式 一个正整数n. 输出格式 一个正整数,表示合题意的有序正整数对的数目. 样例输入 1 6 样例输出 1 20 样例输入 2 7 样例

rgnoH的博客 2328

QGIS效率提升神器:qgis_mcp插件+VSCode联合工作流配置全解析

本文详细解析了如何通过配置qgis_mcp插件与VSCode的联合工作流,实现语音控制和代码自动化来大幅提升QGIS操作效率。该方案将自然语言交互与现代编辑器生态结合,为地理信息专业人士构建了智能、高效的全新工作模式,彻底改变传统GIS操作方式。

weixin_29228203的博客 189

欧拉函数详解 + 整数唯一分解定理 + 欧拉定理(高阶幂次取模)

定理:任意大于1的整数都能表示成素数的乘积,即对任一整数a > 1,有 a = p1­p­2…pn , p1­ 并且表达式是唯一的。 p[i] = k, 表示i这个质因子有k个 定义:在数论,对正整数n,欧拉函数是小于等于n的数中与n互质的数的数目。 ϕ (n) =   1..n中与n互质的数的个数 如何求ϕ (n)? 素因子展开+容斥原理 令n

风一样的自由,色彩斑斓的雨季 3570

cdh zookeeper未授权访问(安全漏洞)处理

前言: 最近公司在做安全漏洞扫描。发现cdh zookeeper存在未授权访问的问题。 ZooKeeper的节点有5种操作权限: CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写) 注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限 ZooKeeper的身份的认证有4种方式: world:默认方式,相当于全世界都能访问 auth:代表已经认证通过的..

belialxing的专栏 2446

学习海康VisionMaster之圆查找

(1):ROI选中位置修正,并且修正信息需要选择刚刚创建的位置修正组件输出信息,这里的话后续的检测窗口一般都需要做这一步,因为大部分的应用场景都是需要用到实时跟踪的。圆查找模块是用于查找指定区域的圆,并且会输出该圆的相关参数信息,比如圆中心点,圆半径,圆是否存在等信息。7):剔除点数:和高级参数里面的剔除距离搭配使用的,就是过滤较远的边缘点,让拟合圆心出来的轮廓更加接近。中的圆查找,相当于就是拟合圆心,这个在视觉软件中的应用也是非常广泛的,通常用于定位,测量项目。

yuhouxiyang的专栏 2100

欧拉函数模板 - 分解质因数 - 筛法

#include &amp;lt;algorithm&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;cstdio&amp;gt; using namespace std; const int MAXN = 10000000 + 10; int vis[MAXN], prime[MAXN], cnt,n,m; void init() { for(int i=2; i&amp;

Zolrk的博客 883

什么是无人机巡检?如何实现无人机自动巡检?

复亚智能的无人机自动巡检系统通过高度自动化的技术,实现了无人机的高效巡检作业。无人机自动机场支持无人机的自动起降和电池更换,自动飞行算法确保无人机在复杂环境中的精准飞行和拍摄,而云端识别诊断和AI感知算法平台则实现图像的实时传输和智能分析。复亚智能,作为无人机技术的创新者和推动者,致力于开发先进的无人机自动巡检解决方案,助力各行各业实现智能化、自动化的巡检工作,引领智能巡检的未来。利用人工智能和机器学习算法,无人机可以被训练来识别特定的模式和异常,如结构损坏、热泄漏等,从而提高巡检的准确性和效率。

foiadrone的博客 2842

欧拉计划(3)Largest prime factord

【题目】 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ? 【翻译】 13195的质数因子有5,7,13和29. 600851475143的最大质数因子是多少? 【思路】求一个数分解质因数,要从最小

sgzqc的专栏 813

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

R语言学习——欧拉计划(3)Largest prime factor 求最大质因数

The prime factors of 13195 are 5, 7, 13 and 29.&#13; What is the largest prime factor of the number 600851475143 ?&#13; 翻译过后如下:&#13; 找出一个合数的最大质数因子&#13; 13195的质数因子有5,7,13和29.&#13; 600851475143的...

蔡军帅 1252

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

欧拉计划第3题

Problem 3:         The prime factors of 13195 are 5,7,13 and 29.          What is the largest prime factor of the number 600851475143. 问题3:         13195的质因数为5,7,13和29。         600851475143最大的质

ll_0520的专栏 1739

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

立方数----欧拉筛+质因数分解+二分+公式推理

题看起来比较简单,但其实还是比较难的 题目链接 详细证明传送门 #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<vector> using namespace std; #define int long long const int N = 1e5+5; int prime[N],pcnt=0; bool st[N]; void

ZZU_LGY 258

欧拉筛法分解质因数——vijos1156猩猩散步

vijos1156 从前有个人 他沉迷暴力分解质因数inline void get(int x,int v) { for(int i=2;i*i<=x;i++) { while(x%i==0) cnt[i]+=v,x/=i; } if(x!=1) cnt[x]+=v; }然后他T了 。。。。。。。。。。。 于是

来自Fop_zz的辣鸡题解或教程 1197

牛客多校2019——Big Integer——欧拉定理,质因数分解

题目链接 官方给的题解是这样的: 直接从别的博客复制过来了,有几点需要补充解释一下: d为满足的最小正整数,求它的目的是为了更方便的去求,因为它一定是d的倍数。 求g的时候,指数向上取整是为了保证j次方之后一定为d的倍数,当然大概率是会多乘几个质因数 强调k<=30这个界限是因为,在的极限情况下,k最多不会超过30,2^30=1073741824。而在这之...

rgndao的博客 368

分解质因数算法和欧拉函数

分解质因数的含义: 每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,把一个合数用质因数相乘的形式表示出来,叫做分解质因数。如30=2×3×5 。分解质因数只针对合数。 #include <cstdio> #include <iostream> using namespace std; int main(void) { int n; cin &gt...

默的博客 918

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 15

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 437

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 362

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 77

AI和大模型—从克里金算法说开去

克里金算法源于矿业勘探,通过空间自相关性实现稀疏数据下的最优预测,核心优势在于不确定性量化。在AI大模型中,其等价于高斯过程,广泛应用于超参数优化、小样本建模与推理调度。尽管面临计算复杂度高、核函数选择难等问题,通过稀疏化、分治法与低秩近似可有效优化。该方法在降低训练成本、提升泛化能力及减少幻觉方面表现突出,尤其适用于高维、高成本的智能系统优化,具有重要借鉴价值。

fpcc的专栏 602
上一篇: 上海计算机学会 2023年11月月赛 乙组T4 平分子集(三)(状态压缩 折半枚举)
下一篇: 欧拉计划第1题:Multiples of 3 or 5(容斥原理 等差数列)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值