有没有找到比n小并打印出的相亲数代码
时间: 2023-04-07 21:03:31 浏览: 38
我可以回答这个问题。以下是一个找到比n小并打印出相亲数的代码:
def sum_divisors(n):
return sum([i for i in range(1, n) if n % i == 0])
def find_amicable_pairs(n):
amicable_pairs = []
for i in range(1, n):
sum_div_i = sum_divisors(i)
if sum_div_i < n and sum_div_i != i and sum_divisors(sum_div_i) == i:
amicable_pairs.append((i, sum_div_i))
return amicable_pairs
n = 1000
print(find_amicable_pairs(n))
相关问题
有没有求相亲数的代码?
可以的,以下是一个求相亲数的 Python 代码:
```python
def sum_divisors(n):
return sum([i for i in range(1, n) if n % i == 0])
def amicable_numbers(n):
result = []
for i in range(1, n):
a = sum_divisors(i)
b = sum_divisors(a)
if i == b and i != a:
result.append((i, a))
return result
print(amicable_numbers(10000))
```
这个代码可以求出小于 n 的所有相亲数对。
有没有寻找相亲数的C++代码
我可以回答这个问题。寻找相亲数的C代码可以通过编写一个函数来实现。以下是一个简单的示例:
```
#include <stdio.h>
int sum_of_divisors(int n) {
int sum = 0;
for (int i = 1; i <= n/2; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
int main() {
int a, b;
printf("Enter two numbers: ");
scanf("%d %d", &a, &b);
if (sum_of_divisors(a) == b && sum_of_divisors(b) == a) {
printf("%d and %d are amicable numbers.\n", a, b);
} else {
printf("%d and %d are not amicable numbers.\n", a, b);