如何检查数组中的每个元素是否为素数

How to check each element in an array if its prime or not

本文关键字:元素 是否 何检查 检查 数组      更新时间:2023-10-16

我正在尝试使程序从数组中打印出值,并且它们是质数还是不是质数。到目前为止,我已经能够制作可以接受一个值并打印出它是否为素数的程序,但是我无法将其实现到数组中。这是我打印单个数字的代码。

int isElementPrime(int value) {
if (0 == value % 2 || value < 2)
{
    printf_s("Number %d is not primen", value);
}
else
{
    printf_s("Number %d is primen", value);
}
return 0;

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

输出:

Number 4 is not prime

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

编辑 正如下面提到的人,代码只能工作到 8 号。

你想要这样的东西吗?

int isElementPrime(int value) {
if (0 == value % 2 || value < 2)
{
    printf_s("Number %d is not primen", value);
}
else
{
    printf_s("Number %d is primen", value);
}
return 0;
}

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

数字是否为素数的一种简单但低效的方法是遍历从 2 到相关数字的平方根的所有整数,并检查循环计数器(介于 2 和值排除之间(是否均匀地划分为测试值(没有余数(。这是一个很好的起点,然后你可以考虑如何避免不必要的循环迭代。