[求助]for循环计算8+88+888+8888+……的前100项的和的思路
如题应该如何考虑这类数字很大的题目呢?刚学。。。 搜索更多相关的解决方案:
思路
----------------解决方案--------------------------------------------------------
对与这种用long不能表示的大整数,可以考虑java里面的BigInteger类,它可以表示任意大的整数.
代码如下:
程序代码:
import java.math.BigInteger;
public class Sum{
public static BigInteger sum(int n){
BigInteger bi =BigInteger.ZERO;
StringBuilder sb =new StringBuilder();
for(int i=0;i<n;i++){
sb.append('8');
bi =bi.add(new BigInteger(sb.toString()));
}
return bi;
}
public static void main(String[] args){
System.out.println(sum(100));
}
}
----------------解决方案--------------------------------------------------------
好心的人
----------------解决方案--------------------------------------------------------
BigInteger 学到一招,谢谢,不过疑问的是,BigInteger真的是任意大么?
----------------解决方案--------------------------------------------------------
应该是任意大,这是100个,哪怕一万位也无所谓啊
----------------解决方案--------------------------------------------------------
呵呵,只要你电脑的RAM足够大.
----------------解决方案--------------------------------------------------------
受教了。。。
----------------解决方案--------------------------------------------------------