跳到主要内容

R语言程序:检查阿姆斯壮数

在这个示例中,您将学习使用while循环来检查一个数字是否是阿姆斯特朗数。

要理解这个示例,您应该具备以下R编程知识:

阿姆斯特朗数,也称为自恋数,是一个等于其各个数字的立方和的数。

例如,370是一个阿姆斯特朗数,因为370 = 3*3*3 + 7*7*7 + 0*0*0

示例:检查阿姆斯特朗数

# 从用户获取输入
num = as.integer(readline(prompt="请输入一个数字: "))
# 初始化总和
sum = 0
# 计算每个数字的立方和
temp = num
while(temp > 0) {
digit = temp %% 10
sum = sum + (digit ^ 3)
temp = floor(temp / 10)
}
# 显示结果
if(num == sum) {
print(paste(num, "是一个阿姆斯特朗数"))
} else {
print(paste(num, "不是一个阿姆斯特朗数"))
}

输出 1

请输入一个数字: 23
[1] "23 不是一个阿姆斯特朗数"

输出 2

请输入一个数字: 370
[1] "370 是一个阿姆斯特朗数"

在这里,我们要求用户输入一个数字,并检查它是否是阿姆斯特朗数。

我们需要计算每个数字的立方和。因此,我们将总和初始化为0,并使用模运算符%%获取每个数字。

当数字除以10时的余数是数字的最后一位。

我们使用指数运算符来计算立方和。最后,我们将总和与原始数字进行比较,并在它们相等时得出它是一个阿姆斯特朗数的结论。