首页 > Java > java教程 > 正文

Java 中的阿姆斯特朗数

王林
发布: 2024-08-30 16:26:20
原创
383 人浏览过

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

在编码示例中,我们使用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");
}
}
登录后复制

输出:

Java 中的阿姆斯特朗数

Java 中的阿姆斯特朗数

Java 中的阿姆斯特朗数

在第一个程序中,我们输入数字 370 和 153 作为数字来检查它们是否是阿姆斯特朗。另外,我们输入 269 作为数字来检查该数字是否是阿姆斯特朗。我们得到程序各自的输出,数字370和153是阿姆斯特朗数,而数字269不是阿姆斯特朗数。

示例#2

在第二个编码示例中,我们选择一系列数字,检查它们是否是阿姆斯特朗数字。范围是从 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");
}
}
}
登录后复制

输出:

Java 中的阿姆斯特朗数

在示例输出中,我们看到 150 到 160 范围内的所有数字都已被检查是否为阿姆斯特朗数字。该程序报告说,只有 153 是阿姆斯特朗数,其数字立方和等于原始数字。所有其他数字均被报告为非阿姆斯特朗数字。

示例#3

在此编码示例中,我们将看到 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");
}
}
}
登录后复制

输出:

Java 中的阿姆斯特朗数

在程序的示例输出中,我们看到只有 371 和 370 是阿姆斯特朗数,而其他数字都不是,因为各个数字的立方之和不等于原始数字。

结论 – Java 中的阿姆斯特朗数

在本文中,我们了解了阿姆斯特朗数的工作原理和定义。首先,我们检查输入的数字是否是阿姆斯特朗数字。其次,我们输入 150 到 160 之间的一系列值,并检查这些值之间有多少个阿姆斯特朗数。第三,我们输入365到375之间的数字,发现370和371是阿姆斯特朗数。阿姆斯特朗数是数论中使用的特殊数字,可用于求某些数字的数字性质及其立方和。

以上是Java 中的阿姆斯特朗数的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板