Ramanujan Number or Taxicab Number in Java2025年4月22日 | 阅读 5 分钟 在本节中,我们将学习什么是拉马努金数(或哈代-拉马努金数),以及如何通过 Java 程序检查一个数是否为拉马努金数。 拉马努金数在数学中,拉马努金数是一个神奇的数字。它可以定义为可以表示为 n 个不同正整数立方和的最小数字。它也被称为出租车数。它用 Ta 表示。最著名的出租车数是 1729。 数字 1729 与出租车有关。有一次,拉马努金住院了,而G.H.哈代(英国数学家)乘坐出租车前来探望。他乘坐的出租车的号码是 1729。他评论说,我出租车的号码似乎是个乏味的数字。 听到哈代的 remarks 后,拉马努金回答说:“不,哈代!这是一个非常有趣的数字。”哈代问:“怎么了?”拉马努金回答说:“数字 1729 是最小的可以表示为两个立方和的数字,并且有两条不同的方式。”从那时起,它就被称为拉马努金数、哈代-拉马努金数或出租车数。让我们来验证一下拉马努金的说法。 1729= 103+93=1000+729 1729= 13+123=1+1728 其他拉马努金数的例子有 4104= 23+163=8+4096 4104= 93+153=729+3375 13832= 243+23=13824+8 13832= 183+203=5832+8000 出租车数也可能以三种不同的方式表示为两个立方和。例如,数字 15,170,835,645 等于 5173+24683=7093+24563=17333+21523 出租车数也可能以四种不同的方式表示为两个立方和。例如,数字 1,801,049,058,342,701,083 等于 922273+12165003=1366353+12161023=3419953+12076023==6002593+11658843 确定 Ta(N) 是困难的,因为数字会变得非常大 寻找拉马努金数的方法有两种方法可以找到拉马努金数。让我们一个一个地通过例子来理解它们。 方法 1 一个神奇的数字,它等于数字的所有数字之和与数字的反转之和的乘积。让我们按照步骤找到拉马努金数。 步骤 1:从用户那里读取一个整数。 步骤 2:将各位数字相加。 步骤 3:求和的反转。 步骤 4:计算原始数字和反转数字的乘积。 如果乘积与输入的原始数字相同,则该数字是拉马努金数,否则不是。让我们通过一个例子来理解它。 示例 假设我们要检查数字 1458 是否为拉马努金数。
我们得到了与我们输入的数字相同的数字。因此,给定的数字是拉马努金或出租车数。 让我们在 Java 程序中实现上述方法。 方法 2 在此方法中,给定的数字可以表示为 N 种不同的方式的两个立方和。例如 1729= 103+93= 13+123 Java 中的拉马努金数程序RamanujanNumberExample1.java 输出 1 Enter a number you want to check: 1729 1729 is a Ramanujan Number. 输出 2 Enter a number you want to check: 1428 1428 is not a Ramanujan Number. 让我们创建另一个程序,该程序查找指定范围内的拉马努金数。 RamanujanNumberExample2.java 输出 1 Ramanujan Number between 1000 to 1000000: 1458 1729 输出 2 Ramanujan Number between 1 to 100000000: 1 81 1458 1729 下一个主题Java 中的 void 类 |
Java 中的 for 循环和 for-each 循环的区别 循环只是一种重复执行特定代码块的方法,只要某个条件保持为真。编程语言通常提供不同类型的循环来处理重复,例如 while、...
阅读 6 分钟
在 Java 中,条件运算符根据条件检查条件并决定所需的相应结果。在本节中,我们将讨论 Java 中的条件运算符。条件运算符的类型 Java 中有三种类型的条件运算符:条件 AND 条件 OR 三元运算符 运算符符号 条件或逻辑...
阅读 3 分钟
在本节中,我们将看到如何计算直方图中最大的矩形面积。直方图中的最大矩形面积是什么?必须创建的最大矩形应该由连续的条组成。为简单起见,我们将假设...
阅读 10 分钟
在本文中,我们将了解 Java 中的单例枚举。您将能够理解如何使用它、它的目的以及最重要的是它的优点和缺点。让我们来了解一下编程中的单例是什么。单例 单例类是一个...
阅读 4 分钟
Java 基本数据类型 Java 中的基本数据类型是数据操作的基石。它们是 Java 语言中最基本的数据类型。Java 是一种静态类型编程语言,这意味着所有变量在使用前都必须声明。基本数据...
5 分钟阅读
问题陈述 目标是使用两个数组 array1 和 array2 来确定 array1 是否是 array2 的子集。如果数组 array1 中的每个元素都在 array2 中,则 array1 是 array2 的子集。方法 1:使用蛮力方法 找出是否...
阅读 6 分钟
Java 中的 OffsetDateTime 类使用 format() 方法提供的格式化器来格式化此日期和时间。Java 中的 OffsetDateTime 类使用 format() 方法提供的格式化器来格式化此日期和时间。语法:public...
阅读 2 分钟
在计算机编程中,反转字符串是一项典型的挑战,可用于数据编码、涉及字符串操作的算法以及回文检测等活动。Java 提供了多种反转字符串的方法,从内置函数到使用循环的简单技术。在此...
阅读 6 分钟
java.text.CollationElementIterator 类有一个 tertiaryOrder() 方法。CollationElementIterator 类的 tertiaryOrder() 方法提供 CollationElementIterator 对象每个排序元素的第三级组件。语法:public static final short tertiaryOrder(int order) 参数:该方法需要发现排序元素的第三级组件,该排序元素是...
阅读 3 分钟
在 Java 中,String 是不可变的,意味着一旦创建就无法更改。这使得它对于频繁修改的文本效率较低。相反,StringBuffer 是可变的且线程安全的,非常适合频繁更改字符串,尤其是在多线程环境中。Java String 在 Java 中,String 用于表示序列...
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India