Java程序检查数字是否可以被5整除
遵循数学中测试数字系统中 5 可整除性的一般规则,因为以 5 或 0 结尾的数字可以被 5 整除。数字有多大并不重要。 归结为可分性时,模运算符将在编程中最常用。
用户需要了解原始数据类型可以存储的数字范围,以便在输入自定义输入时更好地理解,因为不同的数据类型保存已定义的不同范围的值。以下是使用频率更高的数据类型的快速概览。
Datatype | Size | Range Of Storing Whole Numbers |
---|---|---|
short | 2 Bytes | -32,768 to 32,767 |
int | 4 Bytes | -2,147,483,648 to 2,147,483,647 |
long | 8 Bytes | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
方法:当涉及到检查可除性算术运算符时,使用“%”,因为它返回两个数字的余数。现在对于给定的数字是任何随机数说'n'除以某个随机数'm',其中'm'应该小于'n'。假设 n=10 和 m=3,在使用上述方法后 - n%m 即 10%3 将给出等于 1 的余数,即 10 除以 3 时获得的“r”。
数学:10% 5 = 0
例子:
Remainder = Dividend % Divisor
1 = 10 % 3
例子:
Input n : 464565625
Processing : n % 5 == 0
Output : Yes
Input n : 57867456354524524524635602
Processing : n % 5 == 0
Output : No
Input n : 346356 56474675364354243220
Processing : n % 5 == 0
Output : Yes
方法一:输入数量不是很大
让我们首先假设数字不是很大,因此我们可以将输入作为整数并使用模算术运算符来检查数字是否可以被 5 整除。因此,如果 n % 5 == 0,则该数字可被 5 整除。
下面是上述想法的实现。
Java
// Java program to find if a number
// is divisible by 5 or not
// importing Classes/Files
import java.util.*;
class GFG {
// Main Driver function
public static void main(String[] args)
{
// Taking any random number to test
int n = 464565625;
// Checking if remainder is 0 or not
// when divided by 5
if (n % 5 == 0)
// Print yes iif no is divisible by 5
System.out.println("Yes");
else
// Print no if no is not divisible by 5
System.out.println("No");
}
}
Java
// Java program to find if a number
// is divisible by 5 or not
// Importing Classes/Files
import java.util.*;
public class GFG {
// Function for divisibility by 5
static boolean isDivisibleBy5(String num)
{
// Number of Digits
int sz = num.length();
// Checking if last digit is 5
// Checking if last digit is 0
return (
(Integer.parseInt(num.substring(sz - 1)) == 5)
|| (Integer.parseInt(num.substring(sz - 1))
== 0));
}
// Main Driver function
public static void main(String[] args)
{
// Considering any big random number
String num = "464565625";
// Condition check for divisibilty
if (isDivisibleBy5(num))
// Print yes if no is divisible
System.out.println("Yes");
else
// Print no if no is not divisible
System.out.println("No");
}
}
Yes
如果数字是非常大的用户硬编码输入怎么办。程序会编译,但会在运行时抛出异常。使用上述相同方法处理大数时存在一个问题,因为大数的可分性归结为大数的可分性,因为上面讨论的现有数据类型具有特定大小,在该大小范围内,它们可以存储的范围是固定的。如果在数据类型被迫在原始数据类型中存储大整数的情况下使用上述方法,则会在编译时本身抛出错误:“整数太大”。
方法二:输入数量不是很大
- 使用Java Big Integers 并通过使用 modulo 运算符来检查可分性,类似于上面提到的。
- 如果一个数字的最后一位是 0 或 5,则使用这个数字可以被 5 整除的事实。
使用上述事实,我们只需要检查最后一位数字是 0 还是 5。下面是上述想法的实现。
Java
// Java program to find if a number
// is divisible by 5 or not
// Importing Classes/Files
import java.util.*;
public class GFG {
// Function for divisibility by 5
static boolean isDivisibleBy5(String num)
{
// Number of Digits
int sz = num.length();
// Checking if last digit is 5
// Checking if last digit is 0
return (
(Integer.parseInt(num.substring(sz - 1)) == 5)
|| (Integer.parseInt(num.substring(sz - 1))
== 0));
}
// Main Driver function
public static void main(String[] args)
{
// Considering any big random number
String num = "464565625";
// Condition check for divisibilty
if (isDivisibleBy5(num))
// Print yes if no is divisible
System.out.println("Yes");
else
// Print no if no is not divisible
System.out.println("No");
}
}
Yes