JavaScript程序检查Armstrong号码

在此示例中,您将学习用JavaScript编写程序来检查数字是否为Armstrong数字。

如果一个正整数称为阿姆斯特朗数(n阶),如果

abcd... = an + bn + cn + dn + ...

对于3位数的阿姆斯特朗数,每个数位的立方和等于该数字本身。例如, 153是Armstrong的数字,因为

153 = 1*1*1 + 5*5*5 + 3*3*3

同样, 1634是阿姆斯特朗数,因为:

1634 = 1*1*1*1 + 6*6*6*6* + 3*3*3*3 + 4*4*4*4

示例1:检查阿姆斯壮三位数
// program to check an Armstrong number of three digits

let sum = 0;
let number = prompt('Enter a three-digit positive integer: ');

// create a temporary variable
let temp = number;
while (temp > 0) {
    // finding the one's digit
    let remainder = temp % 10;

    sum += remainder * remainder * remainder;

    // removing last digit from the number
    temp = parseInt(temp / 10); // convert float into integer
}
// check the condition
if (sum == number) {
    console.log(`${number} is an Armstrong number`);
}
else {
    console.log(`${number} is not an Armstrong number.`);
}

输出

Enter a three-digit positive integer: 153
153 is an Armstrong number.

上面的程序接受用户的输入。然后,

  1. 用户输入的数字存储在临时变量temp
  2. while循环用于迭代三位数的值。
    1. 模运算符 %用于获取每个数字。当数字除以10时 ,余数是最后一位数字。在第一次迭代中, 153 % 10给出3
    2. 剩余数字的立方是通过将数字乘以三来计算的。并将多维数据集添加到sum变量。
    3. 数字除以10以除去最后一位。
  3. 最后,将总和与用户输入的数字进行比较。如果总和与数字相等,则该数字为阿姆斯壮数字。

注意 :在上述程序中,可以使用指数运算符 **计算一个数字的立方。例如, sum += remainder ** 3;


示例2:检查阿姆斯壮n位数字
// program to check an Armstrong number of n digits

// take an input
let number = prompt("Enter a positive integer");
let numberOfDigits = number.length;
let sum = 0;

// create a temporary variable
let temp = number;

while (temp > 0) {

    let remainder = temp % 10;

    sum += remainder ** numberOfDigits;

    // removing last digit from the number
    temp = parseInt(temp / 10); // convert float into integer
}

if (sum == number) {
    console.log(`${number} is an Armstrong number`);
}
else {
    console.log(`${number} is not an Armstrong number.`);
}

输出

Enter a positive integer: 92727
92727 is an Armstrong number

在上面的程序中,将检查n位的Armstrong数字。

用户输入数字时,将其视为字符串。 length属性返回字符串的长度。

用户输入的数字存储在temp变量中。并且使用while循环进行迭代,直到其值大于0为止。数字的每个数字都升为数字长度的乘方。


总计 0 评论

发表评论

作为 登录 | 登出 »

联系电话

18321263196

交换链接

互相学习

服务咨询

我的微信