当前位置: 首页 > 面试题库 >

质数问题

陈渊
2023-03-14
问题内容

我正在尝试编写一个程序来查找非常大的最大素数,并且尝试了几种方法,但均获得了不同的成功。到目前为止,我发现的所有速度都令人难以置信。我有一个想法,想知道这是否是一种有效的方法:

long number = input;

while(notPrime(number))
{
    number = number / getLowestDivisiblePrimeNumber();
}

return number;

这种方法将需要输入,并且将执行以下操作:

200-> 100-> 50-> 25-> 5(返回)

90-> 45-> 15-> 5(返回)

它将currentNum反复除以最小的可除数(通常为2或3),直到currentNum本身为质数(没有比currentNum的平方根小的可除质数),并假定这是原始输入的最大质数。

这会一直有效吗?如果没有,有人可以给我一个反例吗?

--

编辑:大体上,我的意思是大约2 ^ 40或10 ^ 11。


问题答案:

由于唯一的素因式分解定理,这将始终有效。



 类似资料:
  • 我试图实现间隙广告到我的应用程序时加载实时间隙广告,我得到错误3和广告没有显示。问题可能是什么?你能帮上忙吗。

  • 本文向大家介绍解决Python中回文数和质数的问题,包括了解决Python中回文数和质数的问题的使用技巧和注意事项,需要的朋友参考一下 一、前言 今天学习视频时课后作业是找出1000以内既是素数又是回文数的数,写代码这个很容易,结果一运行遇到了bug,输出结果跟预期不一样,调试了快30min,再接着一通搜索和回看视频才发现问题所在。所以特地写下来,方便以后查看。问题的关键是判断素数过程中for…e

  • 我使用Angular2β与angular2材料alpha.3他们是兼容的,但我有映射问题。 在我的公开/索引中。我有这个系统设置 但是在我的一个组件中,当我尝试导入并将其添加到指令中以在模板中使用时,如下所示: 我得到这个错误: angular2-polyfills.js:127GEThttp://localhost:8080/node_modules/@angular2-材质/输入404(未找到

  • 这节课为大家讲解数组材质和三角形面Face3的材质索引属性.materialIndex。 数组材质 你可以测试把数组材质作为几何体的纹理贴图,所谓数组材质就是多个材质对象构成一个数组作为模型对象的材质。 var geometry = new THREE.BoxGeometry(100, 100, 100); //立方体 // var geometry = new THREE.PlaneGeomet

  • Python3 实例 一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数。 test.py 文件:# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # Python 程序用于检测用户输入的数字是否为质数 #

  • 使用 Eratosthenes 筛选法生成达到给定数的质数。 生成一个从 2 开始到给定数的数组。 使用 Array.filter() 过滤掉能被从 2 开始到给定数的任意值整除的数。 const primes = num => { let arr = Array.from({ length: num - 1 }).map((x, i) => i + 2), sqroot = Math