r语言矩阵计算水仙花数
时间: 2023-09-23 13:12:24 浏览: 66
首先,我们可以使用 R 语言中的 `expand.grid()` 函数生成一个由三个数字组成的所有组合,这些数字的范围是 0 到 9。例如:
```
combinations <- expand.grid(0:9, 0:9, 0:9)
```
接下来,我们可以使用矩阵运算的方式来计算水仙花数。一个三位数的各个位数的立方和等于该数本身,则该数为水仙花数。我们可以将三位数的各个位数的立方表示成一个 1x3 的矩阵,然后使用 `apply()` 函数将立方和计算出来。例如:
```
is_narcissistic <- apply(combinations^3, 1, function(x) sum(x) == as.numeric(paste(x, collapse = "")))
```
最后,我们可以使用 `which()` 函数找出所有水仙花数的位置。例如:
```
narcissistic_numbers <- combinations[which(is_narcissistic), ]
```
完整代码如下:
```
combinations <- expand.grid(0:9, 0:9, 0:9)
is_narcissistic <- apply(combinations^3, 1, function(x) sum(x) == as.numeric(paste(x, collapse = "")))
narcissistic_numbers <- combinations[which(is_narcissistic), ]
```
这样,我们就得到了所有的水仙花数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)