Java 如何检查一个数是否是Tcefrep数

Java 如何检查一个数是否是Tcefrep数

如果一个数的倒数等于原始数的真除数之和,则称该数为Tcefrep数。

为了更清楚辨认,我们求一个数的真除数之和,并找到原始数的倒数。如果两个值都相等,那么我们可以说给定的数是一个Tcefrep数。

一些Tcefrep数的示例包括:6、498906、20671542等。

在这篇文章中,我们将看到如何使用Java编程语言来检查一个数是否是Tcefrep数。

为你展示一些实例

实例-1

输入的数是498906。

我们来用Tcefrep数的逻辑来检查一下。

给定数的倒数=609894。

给定数498906的真除数为=1、2、3、6、9、18、27、54、9239、18478、27717、55434、83151、166302、249453。

以上数字的和=609894

我们注意到这里计算出的和值和原始数的倒数是相等的。

因此,498906是一个Tcefrep数。

实例-2

输入的数是20671542。

我们来用Tcefrep数的逻辑来检查一下。

给定数的倒数=24517602。

给定数20671542的真除数为=1、2、3、6、9、18、113、226、339、678、1017、2034、10163、20326、30489、60978、91467、182934、1148419、2296838、3445257、6890514、10335771。

以上数字的和=24517602

我们注意到这里计算出的和值和原始数的倒数是相等的。

因此,20671542是一个Tcefrep数。

实例-3

输入的数是12343233。

我们来用Tcefrep数的逻辑来检查一下。

给定数的倒数=33234321。

给定数12343233的真除数为=1、3、7、21、587773、1763319、4114411。

以上数字的和=18808768

我们注意到这里计算出的和值和原始数的倒数不相等。

因此,12343233不是一个Tcefrep数。

步骤

步骤1: 通过静态输入或用户输入获取输入的数。

步骤2: 找到原始数的倒数。

步骤3 - 现在找到原始数的所有可能的真因子,并计算它们的和。

步骤4 - 然后将反向值与计算得到的和值进行比较。

步骤5 - 如果这两个值相等,那么输入的数被称为Tcefrep数;否则不是。

语法

要求一个数的平方根,我们可以使用Java语言包java.lang中的Math类中的内置方法 sqrt()

以下是使用该方法得到任意数的平方根的语法 –

double squareRoot = Math.sqrt(input_vale)

多种方法

我们提供了不同的方法来解决这个问题。

  • 使用静态输入值与用户定义的方法

  • 使用用户输入值与用户定义的方法

让我们逐个查看程序及其输出。

方法1:使用静态输入值与用户定义的方法

在这个方法中,我们声明一个变量,并将其初始化为一个正数,并将这个数字作为参数传递给一个用户定义的方法,然后在方法内部,通过使用算法,我们可以检查这个数字是否是一个Tcefrep数。

示例

public class Main {

   //main method
   public static void main(String[] args) {

      //declare a variable and store a value by static input method
      int inputNumber = 20671542;


      //call the user-defined method to check for Tcefrep number
      if (checkTcefrep(inputNumber))
         System.out.print(inputNumber+" is a Tcefrep number.");
      else
         System.out.print(inputNumber+" is not a Tcefrep number.");
   }


   //user-defined method to find the reverse of input number
   static int reverseNumber(int n) {

      //declare a variable to store the reverse number
      int rev = 0;

      //continue the loop till n becomes zero
      while(n > 0) {
         rev = rev * 10 + n % 10;
         n = n / 10;
      }

      //return the reverse number
      return rev;
   }

   // user-defined method to find all the proper divisors and return the sum value
   static int properDivisorsSum(int n) {

      // Declare a variable to store the sum value
      int sum = 0;

      // Loop to find the divisors
      for (int i = 2; i<= Math.sqrt(n); i++) {
         if (n % i == 0) {
            if (i == (n / i))
               sum += i;
            else
               sum += (i + n / i);
         }
      }

      // We find divisors excluding 1 so we add one with final sum value
      return (sum + 1);
   }

   //user-defined method to check the Tcefrep number
   static boolean checkTcefrep(int n) {

      //return true if condition satisfied

      //here we are calling user defined method properDivisorsSum()

      //for sum of all proper divisors and calling reverseNumber() method

      //to get the reverse value of original number

      //and returning true if the result of both methods are same else return false
      return properDivisorsSum(n) == reverseNumber(n);
   } 
}

输出

20671542 is a Tcefrep number.

方法2:使用用户输入值和用户定义方法

在这种方法中,我们声明一个变量,并接受一个正数作为用户输入,并将该数字作为参数传递给一个用户定义的方法,然后在方法内部,通过使用算法来检查该数字是否是Tcefrep数。

示例

import java.util.*;
public class Main {

   //main method
   public static void main(String[] args) {

      //create object of Scanner class
      Scanner sc = new Scanner(System.in);

      //Ask user to enter a number
      System.out.print("Enter a number: ");

      //declare a variable and take the value by user input
      int inputNumber = sc.nextInt();

      //call the user-defined method to check for Tcefrep number
      if (checkTcefrep(inputNumber))
         System.out.print(inputNumber+" is a Tcefrep number.");
      else
         System.out.print(inputNumber+" is not a Tcefrep number.");
   }

   //user-defined method to find the reverse of input number
   static int reverseNumber(int n) {

      //declare a variable to store the reverse number
      int rev = 0;

      //continue the loop till n becomes zero
      while(n > 0) {
         rev = rev * 10 + n % 10;
         n = n / 10;
      }

      //return the reverse number
      return rev;
   }

   // user-defined method to find all the proper divisors and return the sum value
   static int properDivisorsSum(int n) {
      // Declare a variable to store the sum value
      int sum = 0;

      // Loop to find the divisors
      for (int i = 2; i<= Math.sqrt(n); i++) {
         if (n % i == 0) {
            if (i == (n / i))
               sum += i;
            else
               sum += (i + n / i);
         }
      }

      // We find divisors excluding 1 so we add one with final sum value
      return (sum + 1);
   }

   //user-defined method to check the Tcefrep number
   static boolean checkTcefrep(int n) {

      //return true if condition satisfied

      //here we are calling user defined method properDivisorsSum()

      //for sum of all proper divisors and calling reverseNumber() method

      //to get the reverse value of original number

      //and returning true if the result of both methods are same else return false
      return properDivisorsSum(n) == reverseNumber(n);
   }
}

输出

Enter a number: 6
6 is a Tcefrep number.

在本文中,我们探讨了如何通过使用不同的方法来检查一个数字是否是Tcefrep数字的Java。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程