前几天去一家公司,看到一道面试题:求给定个数的质数之和,如F(3)=2+3+5=10,自己测试的代码如下
public class Test { /** * @Description Get after a specified number of the first prime Numbers * @param num a specified number * @return int * @throws */ public int getAfterSpecifiedNumOfTheFirstPrimeNum(int num) { int beginNum = num; if (beginNum == 0) { beginNum = 1; } for (int i = (beginNum + 1);; i++) { if (isPrimeNum(i)) { return i; } } } /** * @Description 判断一个数是否为质数 * @param num * @return boolean * @throws */ private boolean isPrimeNum(int num) { if (num < 2) { return false; } for (int i = 1; i < num; i++) { if (num % i == 0 && i != 1) { return false; } } return true; } /** * @Description 求指定个数质数的和 * @param num * @return int */ public int getContPrimeNum(int num) { int sum = 0; int primeNum = 0; for (int i = 0; i < num; i++) { primeNum = getAfterSpecifiedNumOfTheFirstPrimeNum(primeNum); sum += primeNum; } return sum; } public static void main(String[] args) { Test t = new Test(); System.out.println(t.getContPrimeNum(7)); } }
相关推荐
C语言程序设计-求给定正整数m以内的素数之和;例如:当m=20时,函数值为77;
C语言程序设计-求给定正整数n以内的素数之积;(n).c
这里我们关注的是一个名为“求解第N个质数(第N个素数)vs2010项目”的项目,该项目使用了Visual Studio 2010作为开发环境。这个项目的目标是高效地找到序列中的第N个质数,这里的N可能是任意正整数。项目中采用的...
这个问题和值得研究,这个程序我弄了很久,希望能够给朋友们 学习的机会
素数(Prime Number),又称质数,是只能被1和自身整除的大于1的自然数。例如,2、3、5、7等。 #### 判断方法 在代码中,`isPrimer` 函数用于判断一个给定的整数 `n` 是否为素数。具体步骤如下: - 遍历从1到`n/2`...
在这个程序中,我们首先定义了两个变量count来记录素数个数,sum来存储素数之和。然后通过for循环遍历M到N的每个数,如果isPrime返回1,说明这个数是素数,就增加count的值并累加到sum上。 最后,我们输出素数的...
【描述】求m-n以内所有素数之和并输出。...
标题与描述中的知识点聚焦于如何实现哥德巴赫猜想(Goldbach's Conjecture)的一个实例,即任何大于2的偶数都可以表示为两个素数之和。此问题在数学和计算机科学领域均具有重要意义,不仅是对算法设计的挑战,也是对...
例:用筛选法求2~100之间的所有素数。 解:我们用下面的方法来解这题:先建立一个含有2~100之间所有自然数的数表,在数表中删去2的倍数(不包括2);...这个求素数的方法称为爱拉托散(Eratosthenes)法。
该程序是用java语言编写的,在一定范围内求出素数并输出
给定一个整数n,求出所有连续的且和为n正整数。比如对于整数27,结果为2~7、8~10、13和14,因为这些数之间的整数的和都是27。注意:并不是所有的整数都有结果,例如不存在连续的整数和为16。为了提高计算的效率,...
在编程领域,质数是指大于1且只有两个正因数(1和自身)的大于1的自然数。这里我们讨论的是如何使用Java编程语言来输出给定范围内的所有质数。给定的代码示例已经提供了一个简单的实现,我们将详细解释这个程序的...
标题中的“求小于m的最大10个素数”是一个经典的编程问题,主要涉及数学和算法的知识,特别是素数检测和数组处理。在这个问题中,我们需要找到小于给定整数m的所有素数,并输出其中最大的10个。描述部分进一步确认了...
任意输入一个偶数n(n>4),请将它分解为两个素数之和。
本篇文章将基于给定的代码示例,详细介绍如何通过编程实现将一个正偶数分解为两个素数之和的功能,同时也会对相关的数学概念和技术细节进行深入探讨。 #### 数学基础 1. **素数**:素数是指只能被1和自身整除的...
C语言程序设计-找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回;
设计程序求任意给定范围之间的素数 int main(int argc, char* argv[]) { int min_size,max_size; //输入查找的范围 input_num( &min_size, &max_size); //定义数组并初始化 int *data = new int[max_size+1]; ...
这是一个关于素数计算的小程序,涉及到循环的嵌套,自定义函数的声明,全局变量的声明. 这段代码可以实现任意范围之间素数个数的计算 素数的自然数的输出.
简单来说,就是"每个大于2的偶数都是两个质数之和"。这个看似简单的假设,至今仍未被证明或否定,尽管已经通过计算机验证了极大数量的大偶数。 在我们的例子中,我们关注的是500到1000之间的大偶数。这个范围内的...