有一个int类型的数组。我必须将它的一些元素相乘并报告产品%(10 ^ 9 + 7)和产品的第一个数字。 我已经尝试使用BigInteger类Java,但报告的答案不正确。 我只是想知道是否存在任何此类算法来跟踪第一个数字并且不使用BigInteger。
这是我尝试过的。
c= (Prod.bitCount())*Math.log10(2);
c2= (int)c;
First= (Prod.divide(TEN.pow(c2))).intValue();
if(First/10 != 0) First/=10;
System.out.print(First+" ");
//finding Prod%M
System.out.print(Prod.mod(M)+"\n");
答案 0 :(得分:1)
int x = Integer.parseInt(""+prod.toString().charAt(0));
我认为有人在上面有类似的评论。
答案 1 :(得分:0)
int prod;
...
int first = prod /
((int)Math.pow(10, (int)Math.log10(prod)));
这是未经测试的,只是在我的头顶,但应该给出一般的想法。