gpt4 book ai didi

c - 如何用前 10 个质数填充数组?

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:07 26 4
gpt4 key购买 nike

这可能是一个非常简单的问题,但出于某种原因,我就是想不出正确的解决方案!

我们有一个函数 int isPrime(int n) 如果 n 是素数则返回 2,如果 n 不是正数则返回 -1,如果 n 不是素数则返回 0。 (我们不必为这个函数写任何代码,我们只是假设代码已经写好了,所以我们所要做的就是调用这个函数)。使用此函数,我们必须编写一个代码片段,用前十个素数填充大小为 10 的整数数组。注意:将 1 视为非质数。

我尝试了以下解决方案,但我认为它不对:注意:我们只需要编写一个代码片段!

int a[10];
int n, i, result;

result = isPrime(n);

for (i = 0; i < 10; i++) {
if (result == 1) {
a[i] = n;
}
}

我有一种感觉,我将不得不使用两个 for 循环,一个循环遍历使用 isPrime 检查的数字,另一个循环遍历数组中的位置,就像我在上面所做的那样。但是我不确定如果我有两个 for 循环会是什么样子。任何帮助表示赞赏!提前致谢。

最佳答案

尝试这样的事情。它会反复寻找下一个素数,直到找到 10 个素数。注意:由于您没有提供 isPrime 的实现,因此未测试此代码。它只是为了让您了解它应该是什么样子。

int a[10];
int n, i, result;

n = 2;
for (i = 0; i < 10; i++) {
// Keep bumping n until we find a prime.
while (!(isPrime(n) == 2)) {
n++;
}

// Record the prime we just found.
a[i] = n;

// Ensure that we do not just record the same prime n times.
n++;
}

关于c - 如何用前 10 个质数填充数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com