使用指针的方法求100内素数
时间: 2023-09-13 19:09:44 浏览: 101
python 实现求100之内的素数
5星 · 资源好评率100%
以下是使用指针的方法求100以内素数的代码示例:
```c
#include <stdio.h>
void findPrimes(int n, int *primes);
int main() {
int n = 100;
int primes[n];
findPrimes(n, primes);
printf("The primes less than %d are: ", n);
for (int i = 0; i < n; i++) {
if (primes[i] != 0) {
printf("%d ", primes[i]);
}
}
printf("\n");
return 0;
}
void findPrimes(int n, int *primes) {
for (int i = 2; i < n; i++) {
*(primes + i) = i; // initialize the array with all numbers between 2 and n-1
}
for (int i = 2; i < n; i++) {
if (*(primes + i) != 0) { // check if the number is still in the array
for (int j = i * i; j < n; j += i) {
*(primes + j) = 0; // remove multiples of the number from the array
}
}
}
}
```
该方法的思路是:首先将所有小于n的正整数都存储在一个数组中,然后从2开始遍历数组,将数组中所有的i的倍数都标记为0,最后遍历数组,输出不为0的数即为素数。注意,这里使用了指针来操作数组,即用`*(primes + i)`代替`primes[i]`,用`primes`代替`&primes[0]`。
阅读全文