可被X整除的最大K位数的Java程序

给出了整数X和K。任务是找到可被X整除的最高K位数。

null

例如:

Input : X = 30, K = 3
Output : 990
990 is the largest three digit 
number divisible by 30.

Input : X = 7, K = 2
Output : 98

有效解决方案 就是用下面的公式。

ans = MAX - (MAX % X)
where MAX is the largest K digit 
number which is  999...K-times

这个公式适用于简单的学校教学法。我们去掉余数得到最大的可除数。

// Java code to find highest
// K-digit number divisible by X
import java.io.*;
import java.lang.*;
class GFG {
public static double answer( double X, double K)
{
double i = 10 ;
// Computing MAX
double MAX = Math.pow(i, K) - 1 ;
// returning ans
return (MAX - (MAX % X));
}
public static void main(String[] args)
{
// Number whose divisible is to be found
double X = 30 ;
// Max K-digit divisible is to be found
double K = 3 ;
System.out.println(( int )answer(X, K));
}
}
// Code contributes by Mohit Gupta_OMG <(0_o)>


输出:

990

理解数学。函数,请参考本文第18点: https://www.geeksforgeeks.org/java-lang-math-class-java-set-2/

请参阅完整的文章 可被X整除的最大K位数 更多细节!

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享