JavaScript程序以间隔查找阿姆斯壮编号
在此示例中,您将学习用JavaScript编写程序以在两个整数值之间找到一个Armstrong数字。
在下列情况下,正整数称为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
在尝试该程序之前,请访问JavaScript程序以检查Armstrong号。
示例:两个间隔之间的阿姆斯壮数
// program to find Armstrong number between intervals // take an input let lowNumber = parseInt(prompt('Enter a positive low integer value: ')); let highNumber = parseInt(prompt('Enter a positive high integer value: ')); console.log ('Armstrong Numbers:'); // looping through lowNumber to highNumber for (let i = lowNumber; i <= highNumber; i++) { // converting number to string let numberOfDigits = i.toString().length; let sum = 0; // create a temporary variable let temp = i; /* loop through a number to find if a number is an Armstrong 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 == i) { console.log(i); } }
输出
Enter a positive low integer value: 8 Enter a positive high integer value: 500 Armstrong Numbers: 8 9 153 370 371 407
在上面的程序中,提示用户输入两个整数。一个是较低的间隔整数,另一个是较高的整数值。
parseInt()
将数字字符串值转换为整数值。
for
循环用于循环用户提供的两个数字。
toString()
方法用于将数字转换为字符串。 length
属性用于查找数字中的总位数。
let numberOfDigits = i.toString().length;
在第一次for
循环迭代中( i = 8 ),
- 用户输入的较低数字存储在临时变量
temp
。 -
while
循环用于迭代数字。- 模运算符
%
用于获取每个数字。当数字除以10时 ,余数是最后一位数字。在第一次迭代中,8 % 10
给出8 。 - 其余部分乘以该数字中的位数(此处为1 ),然后计算出总和。
- 数字除以10以除去最后一位,即
8 / 10
给出0。
- 模运算符
- 最后,将总和与用户输入的数字进行比较。如果总和与数字相等,则显示阿姆斯壮数字。
用户提供的所有中间数字将继续循环。在上面的示例中,循环执行8到500次 。
总计 0 评论