(循环嵌套)编写程序,输入2个正整数 m和n(m>=1,n<=500),统计m和n之间素数的个数。素数是指只能被1和自身整除的正整数,最小的素数是2。 【测试用例1】 输入:100,200 输出:count=21
时间: 2024-10-07 14:05:46 浏览: 47
循环嵌套可以用来解决这个问题,首先需要两个嵌套的for循环,外层循环遍历从2到n的所有整数,内层循环检查每个数是否是素数。对于每个数i,如果它是素数,计数器count加一。下面是伪代码以及一个简单的Python实现:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1): # 只需检查到num的平方根即可
if num % i == 0:
return False
return True
def count_primes(m, n):
count = 0
for i in range(m, n+1):
if is_prime(i):
count += 1
return count
# 测试用例1
m = 100
n = 200
result = count_primes(m, n)
print(f"count={result}")
#
相关问题
用c语言的嵌套循环编写程序,输入2个正整数 m和n,统计m和n之间素数的个数。
在C语言中,你可以使用嵌套循环结合条件判断的方式来编写一个程序,用于计算并统计从m到n之间的素数个数。以下是简单的步骤:
首先,定义一个函数`isPrime()`来检查一个数是否是素数。然后,使用两层for循环遍历从m到n的所有整数。
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int isPrime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) { // 只需要检查到i*i即可,因为大于根号n的因数必定小于根号n
if (num % i == 0)
return 0;
}
return 1;
}
// 主函数计算并打印素数个数
int countPrimes(int m, int n) {
int primeCount = 0;
for (int i = m; i <= n; i++) {
if (isPrime(i))
primeCount++;
}
printf("在%d到%d之间,共有%d个素数。\n", m, n, primeCount);
return primeCount;
}
int main() {
int m, n;
printf("请输入两个正整数m和n: ");
scanf("%d %d", &m, &n);
countPrimes(m, n);
return 0;
}
```
当你运行这个程序时,它会提示你输入两个正整数m和n,然后输出这两个数之间(包括m和n)的素数总数。
阅读全文