c++求求m~n中的素数的个数
时间: 2023-05-21 15:02:52 浏览: 139
您好,以下是求解 m~n 中素数个数的 C 代码:
```
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int count_primes(int m, int n) {
int count = 0;
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
count++;
}
}
return count;
}
int main() {
int m = 1, n = 100;
int count = count_primes(m, n);
printf("There are %d prime numbers between %d and %d.\n", count, m, n);
return 0;
}
```
如果您有其他问题,欢迎继续提问。
相关问题
c++求两数之间的素数的个数
您好,以下是求两数之间的素数个数的 C 代码:
```c
#include <stdio.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int countPrimes(int a, int b) {
int count = 0;
for (int i = a; i <= b; i++) {
if (isPrime(i)) {
count++;
}
}
return count;
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("%d 到 %d 之间的素数个数为:%d\n", a, b, countPrimes(a, b));
return 0;
}
```
如果您有其它问题,欢迎继续提问。
C++编程求[1,n]范围内完美素数的个数。
完美素数是指既是素数又是完全数的数。完全数是指恰好等于它的所有因子(不包括它本身)之和的数。例如,6 是一个完全数,因为它的因子是 1, 2, 3,而 1+2+3=6;而 7 不是完全数,因为它的因子只有 1 和 7,而 1≠7。
以下是 C++ 代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
// 判断素数
bool isPrime(int n) {
if (n < 2) {
return false;
}
int sqrtn = sqrt(n);
for (int i = 2; i <= sqrtn; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
// 判断完全数
bool isPerfect(int n) {
int sum = 1;
int sqrtn = sqrt(n);
for (int i = 2; i <= sqrtn; i++) {
if (n % i == 0) {
sum += i;
if (n / i != i) {
sum += n / i;
}
}
}
return sum == n;
}
int main() {
int n;
cin >> n;
int count = 0;
for (int i = 2; i <= n; i++) {
if (isPrime(i) && isPerfect(i)) {
count++;
}
}
cout << count << endl;
return 0;
}
```
首先定义了两个函数,分别用于判断素数和完全数。然后在主函数中输入一个整数 n,从 2 开始遍历到 n,如果当前数是素数且是完全数,则完美素数个数加 1。最后输出完美素数的个数。