Java 中的阿姆斯特朗数 阿姆斯特朗数是一种数字各个数字的立方之和等于数字本身的数。阿姆斯特朗数是一种特殊的数字,首先取出数字,然后进行立方,最后将各个数字的所有立方相加得到一个数字。如果由此找到的数字等于原始数字,则相应的数字称为阿姆斯特朗数。以阿姆斯特朗数字为例,153。如果我们把153的数字分解为1、5、3,然后求各个数字的立方,最后计算数字的立方。
153= (1*1*1)+(5*5*5)+(3*3*3) 370= (3*3*3)+(7*7*7)+(0*0*0)
这样我们就可以计算出一个数是否是阿姆斯特朗数。
广告 该类别中的热门课程 JAVA 掌握 - 专业化 | 78 课程系列 | 15 次模拟测试我们将在示例的帮助下看到插图。
在编码示例中,我们使用Java编程语言来判断数字是否为阿姆斯特朗数。如果输入的数字是阿姆斯特朗数,则程序自动将其打印为阿姆斯特朗数,如果不是1,则自动回复该数字不是阿姆斯特朗数。我们可以输入三位数或四位数来检查该数字是否是阿姆斯特朗数。
程序的逻辑是,相应数字的每个数字都存储在 temp 变量中。然后,对数字进行立方以找出相应数字的立方,并将其存储在另一个变量total中。最后将总数与对应的原始数进行核对。通过每一步将数字除以 10,然后得到数字的余数,然后将数字进行立方,得到相应数字的立方,从而一一获得数字。
代码:
import java.io.*; public class Armstrong { public static void main(String[] args)throws IOException { BufferedReader br= new BufferedReader(new InputStreamReader(System.in)); System.out.println("Enter a number"); int num = Integer.parseInt(br.readLine()); int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } }
输出:
在第一个程序中,我们输入数字 370 和 153 作为数字来检查它们是否是阿姆斯特朗。另外,我们输入 269 作为数字来检查该数字是否是阿姆斯特朗。我们得到程序各自的输出,数字370和153是阿姆斯特朗数,而数字269不是阿姆斯特朗数。
在第二个编码示例中,我们选择一系列数字,检查它们是否是阿姆斯特朗数字。范围是从 150 到 160。我们选择范围,然后检查输出该数字是否是阿姆斯特朗数字。然后我们看到输出。所使用的逻辑类似于用于查找阿姆斯特朗数的逻辑。计算出该数字的各个数字,然后将它们相乘并求和以获得最终的总数。如果最终总数等于原始数,则视为计算出的阿姆斯特朗数。
代码:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 150; num<160; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
输出:
在示例输出中,我们看到 150 到 160 范围内的所有数字都已被检查是否为阿姆斯特朗数字。该程序报告说,只有 153 是阿姆斯特朗数,其数字立方和等于原始数字。所有其他数字均被报告为非阿姆斯特朗数字。
在此编码示例中,我们将看到 365 到 375 之间的阿姆斯特朗数列表。我们正在更改要检查阿姆斯特朗数的值的范围。编码的示例逻辑与前面的完全相同。主要区别在于要检查的数字范围发生了变化,与最后一行代码略有不同。
将各个数字相加、立方并求和得到一个数字。如果该数与原始数相同,则原始数称为阿姆斯特朗数;否则,它不是阿姆斯特朗数。
代码:
import java.io.*; public class ArmstrongRange { public static void main(String[] args)throws IOException { for(int num= 365; num<375; num++) { int number, digit, sum = 0; number = num; while (number != 0) { digit = number % 10; sum = sum + digit*digit*digit; number /= 10; } if(sum == num) System.out.println(num + " is an Armstrong number"); else System.out.println(num + " is not an Armstrong number"); } } }
输出:
在程序的示例输出中,我们看到只有 371 和 370 是阿姆斯特朗数,而其他数字都不是,因为各个数字的立方之和不等于原始数字。
在本文中,我们了解了阿姆斯特朗数的工作原理和定义。首先,我们检查输入的数字是否是阿姆斯特朗数字。其次,我们输入 150 到 160 之间的一系列值,并检查这些值之间有多少个阿姆斯特朗数。第三,我们输入365到375之间的数字,发现370和371是阿姆斯特朗数。阿姆斯特朗数是数论中使用的特殊数字,可用于求某些数字的数字性质及其立方和。
以上是Java 中的阿姆斯特朗数的详细内容。更多信息请关注PHP中文网其他相关文章!