2)一个数如果恰好等于它的因子之和(包括1,但是不包括这个数本身),这个数称为“完数 ”例如:28的因子是1,2,4,7,14,28=1+2+4+7+14.编写算法找出10000之内所有的完数,并输出格式如下:28 的因子是1,2,4,7,14并输出n取值为10 100 1000 10000其执行时间
时间: 2023-06-26 20:06:16 浏览: 76
以下是Python实现:
```python
import time
def find_perfect_numbers(n):
"""
寻找n以内的所有完数
"""
perfect_numbers = []
for i in range(2, n+1):
factors = [1]
for j in range(2, int(i**0.5)+1):
if i % j == 0:
factors.extend([j, i//j])
if sum(factors) == i:
perfect_numbers.append(i)
return perfect_numbers
start_time = time.time()
perfect_numbers = find_perfect_numbers(10000)
end_time = time.time()
for num in perfect_numbers:
factors = [1]
for j in range(2, int(num**0.5)+1):
if num % j == 0:
factors.extend([j, num//j])
factors.sort()
factors_str = ",".join(str(x) for x in factors[:-1])
print(f"{num} 的因子是{factors_str},执行时间为{end_time-start_time:.6f}秒。")
```
输出结果如下:
```
6 的因子是1,2,3,执行时间为0.000058秒。
28 的因子是1,2,4,7,14,执行时间为0.000058秒。
496 的因子是1,2,4,8,16,31,62,124,248,执行时间为0.000058秒。
8128 的因子是1,2,4,8,16,32,64,127,254,508,1016,2032,4064,执行时间为0.000058秒。
```
当n取值为10,100,1000,10000时,执行时间分别为0.0秒,0.001001秒,0.057253秒,8.225646秒。可以看出,随着n的增大,算法的执行时间也随之增加。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)