如果数组中的每个元素是否为素数,如何检查它们

时间:2018-02-01 15:05:27

标签: c++ arrays

我试图让程序打印出一个数组形式的值,如果它们是或不是素数。到目前为止,我已经能够创建一个可以获取一个值的程序并打印出它是否为素数,但是我还没有能够将它实现到数组中。这是我打印单个数字的代码。

int isElementPrime(int value) {

if (0 == value % 2 || value < 2)
{
    printf_s("Number %d is not prime\n", value);
}

else
{
    printf_s("Number %d is prime\n", value);
}
return 0;


int main() {
int value = 4;
isElementPrime(value);

输出:

Number 4 is not prime

所以问题是,如何使用数组来实现同样的事情?

编辑如下所述,代码仅适用于8号。

2 个答案:

答案 0 :(得分:1)

你想要这样的东西吗?

int isElementPrime(int value) {

if (0 == value % 2 || value < 2)
{
    printf_s("Number %d is not prime\n", value);
}

else
{
    printf_s("Number %d is prime\n", value);
}
return 0;
}


int main() {
int values[4] = {1,2,3,4};
for(int i = 0; i < values.size();i++)
   isElementPrime(values[i]);

答案 1 :(得分:0)

一种简单但低效的检查数字是否为素数的方法是循环遍历从2到所讨论数字的平方根的所有整数,并检查循环计数器(将在2和2之间) value exclusive)均匀分为测试值(没有余数)。这是一个很好的起点,您可以考虑如何避免不必要的循环迭代。