3352543_ac_188ms_3344k.java
来自「北大大牛代码 1240道题的原代码 超级权威」· Java 代码 · 共 49 行
JAVA
49 行
import java.util.*;
import java.math.*;
public class Main
{
public static void main(String [] args)
{
new Main().run();
}
public void run()
{
Scanner in = new Scanner (System.in);
int t, a, b;
while (in.hasNext())
{
t = in.nextInt();
b = in.nextInt();
a = in.nextInt();
System.out.print("("+t+"^"+b+"-1)/("+t+"^"+a+"-1) ");
if (t == 1 || b % a != 0)
{
System.out.println("is not an integer with less than 100 digits.");
continue;
}
double len = (double)(b-a) * Math.log10((double)t) + 1.0;
if (len >= 100.0)
{
System.out.println("is not an integer with less than 100 digits.");
continue;
}
int n = b / a;
BigInteger base = BigInteger.ZERO;
if (n > 1)
{
base = BigInteger.valueOf(t).pow(a);
}
BigInteger tmp = BigInteger.ONE;
BigInteger ans = BigInteger.ZERO;
for (int i = 0; i < n; i++)
{
ans = ans.add(tmp);
tmp = tmp.multiply(base);
}
System.out.println(ans);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?