如何在Java中检查一个数是否为三角数?
自然数‘n’的三角数可以定义为从1到n的所有自然数之和。
它被称为三角数,因为我们可以使用总点数(行数等于点数)在等边三角形网格中表示它。意思是第1行1个点,第2行2个点,第3行3个点,依此类推。
简单来说,如果一个数是从1开始的所有连续数字之和,那么它就是一个三角数。
Mathematically n*(n+1)/2
在这篇文章中,我们将学习如何使用Java编程语言来检查一个数是否为三角数。
举几个例子:
示例1
输入数字是10
让我们使用三角数的逻辑来检查它:
1 + 2 + 3 + 4 = 10 which is the sum of all consecutive numbers starting from 1.
因此,10是一个三角数。
示例2
输入数字是15
让我们使用三角数的逻辑来检查它:
1 + 2 + 3 + 4 + 5 = 15 which is the sum of all consecutive numbers starting from 1.
因此,15是一个三角数。
示例3
输入数字是7
让我们使用三角数的逻辑来检查它:
1 + 2 + 3 = 6 1 + 2 + 3 + 4 = 10
所以,从上面我们知道7不是一个三角数。
其他一些三角数的例子包括1、3、6、21、55等等。
算法
步骤1 - 获取一个整数,可以通过初始化或用户输入获得。
步骤2 - 使用循环迭代从1到输入数字。不断累加每个数字,同时检查在任何时候和是否等于原始输入数字。
步骤3 - 如果在任何时候和等于原始输入数字,则中断循环并打印它是三角数;否则打印它不是三角数。
多种方法
我们提供了三种不同的方法来解决这个问题。
使用静态输入值
使用用户自定义方法
查找一个数的三角数
让我们逐一查看程序及其输出。
方法1:使用静态输入值
在这种方法中,将在程序中初始化一个整数值,然后使用算法检查该数是否为三角数。
示例
public class Main{ public static void main(String args[]){ //Declared an integer variable and initialized a number as value int originalNumber = 6; //printing the given number to be checked System.out.println("Given number: "+originalNumber); //declaring an integer variable sum to hold the sum value //initializing it with value as 0 int sum = 0; //declare boolean variable activeFlag as false boolean activeFlag = false; // Loop that adds consecutive digits for(int i = 1; i<=originalNumber; i++){ sum = sum + i; //if sum is equal with original number //then make the activeFlag as true; if(sum == originalNumber){ activeFlag = true; break; } } //if activeFlag is true then given number is triangular number //print it is triangular number if(activeFlag == true) System.out.println(originalNumber+" is a triangular number"); //else print given number is not a triangular number else { System.out.println(originalNumber+" is not a triangular number"); } } }
输出
Given number: 6 6 is a triangular number
方法2:使用用户自定义方法
在这种方法中,将在程序中初始化一个整数值,然后我们将调用一个用户自定义方法,并将此给定数字作为参数传递。
在方法内部,我们将使用算法检查该数是否为三角数。
示例
public class Main{ public static void main(String args[]){ //Declared an integer variable and initialized a number as value int originalNumber = 55; //printing the given number to be checked System.out.println("Given number: "+originalNumber); //call the user defined method to check a number is triangular or not //by passing the input number as parameter if(checkTriangular(originalNumber)){ System.out.println(originalNumber+" is a triangular number"); } else { System.out.println(originalNumber+" is not a triangular number"); } } //user defined method to check triangular number static boolean checkTriangular(int originalNumber){ //declaring an integer variable sum to hold the sum value //initializing it with value as 0 int sum = 0; // Loop that adds consecutive digits for(int i = 1; i<=originalNumber; i++){ sum = sum + i; if(sum == originalNumber){ return true; } } return false; } }
输出
Given number: 55 55 is a triangular number
方法3:查找一个数的三角数
我们将找到给定数字的三角数。意思是给定一个数字,比如‘n’,我们必须找到n*(n+1)/2。
示例
public class Main{ //main method public static void main(String[] args){ //declared and initialized an integer variable int inputNumber = 7; //declared an integer variable and initialize with value 0 int triangularNumber = 0; //using loop we will find the sum of consecutive numbers from 1 to that number for(int i = 1 ; i<=inputNumber ; i++){ triangularNumber = triangularNumber + i; } System.out.println(triangularNumber+" is the triangular number for "+inputNumber); } }
输出
28 is the triangular number for 7
在这篇文章中,我们探讨了如何使用不同的方法在Java中检查一个数是否为三角数。
广告