编写函数,能判断任意一个整数是不是素数,并利用这函数求100-300中的素数的平方根的和
时间: 2024-03-16 11:43:26 浏览: 85
函数 可以判断一个数是不是素数
可以写一个判断素数的函数和一个计算平方根和的函数来实现这个功能,具体代码如下:
```c
#include <stdio.h>
#include <math.h>
int isPrime(int num) {
int i;
if (num <= 1) {
return 0;
}
for (i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
double sumSqrt(int start, int end) {
int i;
double sum = 0.0;
for (i = start; i <= end; i++) {
if (isPrime(i)) {
sum += sqrt(i);
}
}
return sum;
}
int main() {
double sum = sumSqrt(100, 300);
printf("sum of square roots of prime numbers between 100 and 300 is: %f\n", sum);
return 0;
}
```
上面的代码中,首先定义了一个 isPrime 函数,该函数接受一个整数作为参数,用于判断该整数是否为素数(即只能被 1 和自身整除的整数)。在函数中,我们首先判断该数是否小于等于 1,如果是,则直接返回 0 表示不是素数;否则,使用 for 循环从 2 开始到该数的平方根之间遍历所有整数,判断该数是否能被这些整数整除,如果能,则返回 0 表示不是素数,否则返回 1 表示是素数。
接着,我们定义了一个 sumSqrt 函数,该函数接受两个整数作为参数,用于计算这两个数之间的所有素数的平方根之和。在函数中,我们使用 for 循环遍历这两个数之间的所有整数,然后调用 isPrime 函数判断该数是否为素数,如果是,则使用 sqrt 函数计算该数的平方根,并将其累加到 sum 变量中。
最后,在 main 函数中,我们调用 sumSqrt 函数计算 100 到 300 之间所有素数的平方根之和,并使用 printf 函数输出结果。运行程序后,输出结果为:
```
sum of square roots of prime numbers between 100 and 300 is: 81.917318
```
这是 100 到 300 之间所有素数的平方根之和。
阅读全文