输入2个自然数A,B: 1.输出[A,B]范围内的素数个数。 2.按从小到大的顺序输出这两个数之间的所有公因数。 输入样例 4 8 输出样例 2 1 2 4 说明 请使用for/while循环、for循环实现
时间: 2024-10-21 17:09:54 浏览: 15
为了解决这个问题,我们可以编写两个函数分别用于计算素数个数和找出公因数。首先,我们定义一个函数is_prime()来判断一个数是否是素数,然后用另一个函数count_primes_in_range(A, B)统计范围内素数的数量。接着,我们可以创建一个函数find_common_factors(A, B)来找出给定区间内所有连续整数的公因数列表。
下面是Python代码实现:
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
def count_primes_in_range(A, B):
prime_count = 0
for num in range(A, B+1):
if is_prime(num):
prime_count += 1
return prime_count
def find_common_factors(A, B):
factors = []
for i in range(1, min(A, B) + 1):
if A % i == 0 and B % i == 0:
factors.append(i)
return factors
# 示例输入
A = 4
B = 8
# 计算并输出
prime_count = count_primes_in_range(A, B)
print(f"范围内的素数个数: {prime_count}")
factors = find_common_factors(A, B)
print(f"公因数: {factors}")
# 根据输入样例输出
```
**输入样例**
```
4 8
```
**输出样例**
```
素数个数: 2
公因数: [1, 2, 4]
```
阅读全文