如何在Java中检查一个数字是否为Tech数?
当一个偶数位数的数字被精确地分成两部分,并且这两部分数字之和的平方值等于原数字时,这个数字被称为Tech数。
为了更清楚地说明,我们取一个具有偶数位数的数字。然后,将其分成两部分并相加。得到和的值后,我们计算它的平方。现在我们将计算出的平方值和原始/输入数字进行比较。如果两者相同,则可以说输入数字是Tech数,否则不是。
一些Tech数的例子是:2025、3025、9801……等等。
在这篇文章中,我们将学习如何使用Java编程语言来检查一个数字是否为Tech数。
举几个例子
实例-1
输入数字是2025。
让我们使用Tech数的逻辑来检查它。
2025有4位数字,这是一个偶数。
将数字分成两部分 = 20 和 25。
20 加 25 = 20 + 25 = 45
求45的平方 = (45)^2 = 2025
我们在这里注意到,计算出的平方值和原始数字相同。
因此,2025是一个Tech数。
实例-2
输入数字是3025。
让我们使用Tech数的逻辑来检查它。
3025有4位数字,这是一个偶数。
将数字分成两部分 = 30 和 25。
30 加 25 = 30 + 25 = 55
求55的平方 = (55)^2 = 3025
我们在这里注意到,计算出的平方值和原始数字相同。
因此,3025是一个Tech数。
实例-3
输入数字是4020。
让我们使用Tech数的逻辑来检查它。
4020有4位数字,这是一个偶数。
将数字分成两部分 = 40 和 20。
40 加 20 = 40 + 20 = 60
求60的平方 = (60)^2 = 3600
我们在这里注意到,计算出的平方值和原始数字不同。
因此,4020不是一个Tech数。
算法
步骤-1 - 通过静态输入方法获取输入数字。
步骤-2 - 计算原始数字的位数。
步骤-3 - 如果位数为偶数,则将其分成两部分,并将这两个数字存储在两个不同的变量中。
步骤-4 - 然后求这两个数字的和,然后计算该和的平方值。
步骤-5 - 如果计算出的平方值和输入数字相同,则输入数字称为Tech数,否则不是。
语法
在Java中,我们有内置的java.lang.Math.pow()方法来获取任何数字的幂。
以下是使用该方法获取2的幂的语法:
double power = Math.pow (inputValue,2)
多种方法
我们提供了不同的方法来解决这个问题。
使用静态输入值
使用用户自定义方法
让我们逐一查看程序及其输出。
方法-1:使用静态输入值
在这种方法中,我们声明一个变量并用一个偶数位的正数初始化它,然后使用算法来检查该数字是否是Tech数。
示例
public class Main { public static void main(String[] args) { //declaring the variables int inputNumber, temp, firstNumber, secondNumber, count = 0,res = 0; //Declare and initialize the original input number inputNumber = 3025; //store the original number into a temporary variable temp = inputNumber; //find the number of digits available in input number while (temp > 0) { count++; temp = temp / 10; } //check whether the number of digits is ever or not //if even number of digits are present then proceed to check Tech number if (count % 2 == 0) { temp = inputNumber; //find the first part and store it into a variable firstNumber = temp % (int) Math.pow(10, count / 2); //find the second part and store it into a variable secondNumber = temp / (int) Math.pow(10, count / 2); //calculate the square of sum of those two parts of input number res = (int) Math.pow((firstNumber + secondNumber), 2); if (inputNumber == res) { //if the original number is equal to calculated value System.out.println(inputNumber+" is a Tech Number."); } else { //if the original number is not equal to calculated value System.out.println(inputNumber+" is not a Tech Number."); } } else { //if the input number has odd number of digits System.out.println(inputNumber+" is not a Tech Number."); } } }
输出
3025 is a Tech Number.
方法-2:使用用户自定义方法
在这种方法中,我们声明一个变量并用一个正数初始化它,然后通过将此数字作为参数调用用户自定义方法,然后使用算法来检查该数字是否是Tech数。
示例
public class Main { //main method public static void main(String[] args) { //delare a variable and initialize a value to it int inputNumber= 3025; //call the user defined method to check the tech number if (checkTech(inputNumber)) { System.out.println(inputNumber+" is a Tech Number."); } else { System.out.println(inputNumber+" is not a Tech Number."); } } //user defined method for checking of Tech Number public static boolean checkTech(int n) { //declaring the variables int temp, firstNumber, secondNumber, count = 0,res = 0; //store the original number into a temporary variable temp = n; //loop to find the number of digits available in input number while (temp > 0) { count++; temp = temp / 10; } //check whether the number of digits is ever or not if (count % 2 == 0) { temp = n; //find the first part and store it into a variable firstNumber = temp % (int) Math.pow(10, count / 2); //find the second part and store it into a variable secondNumber = temp / (int) Math.pow(10, count / 2); //calculate the square of sum of those two parts of input number res = (int) Math.pow((firstNumber + secondNumber), 2); if (n == res) { //if the original number is equal to calculated value return true; } else { //if the original number is not equal to calculated value return false; } } else { //if the input number has odd number of digits return false; } } }
输出
3025 is a Tech Number.
在这篇文章中,我们探讨了如何使用不同的方法在Java中检查一个数字是否为Tech数。