用java编程,编写程序,求8+88+888+….+8888888888的和
mip版 关注:207 答案:4 悬赏:0
解决时间 2021-01-29 05:38
已解决
2021-01-28 09:02
用java编程,编写程序,求8+88+888+….+8888888888的和
最佳答案
2021-01-28 09:57
你好!
public class AddInteger {
public static void main(String[] args) {
String a = "8";
BigInteger r = new BigInteger(a);
for (int i = 0; i < 9; i++) {
a = a + "8";
System.out.println(a);
r = r.add(new BigInteger(a));
System.out.println("r = " + r);
}
System.out.println(r);
}
}
楼上用int会数据溢出。
希望对你有所帮助,望采纳。
全部回答
1楼
2021-01-28 12:24
String a = "";
int r;
for(int i = 0 ; i<10;i++){
a=a+"8";
r=r+Integer.valueOf(a);
}
2楼
2021-01-28 11:14
public class AddInteger {
public static void main(String[] args) {
String a = "8";
BigInteger r = new BigInteger(a);
for (int i = 0; i < 9; i++) {
a = a + "8";
System.out.println(a);
r = r.add(new BigInteger(a));
System.out.println("r = " + r);
}
System.out.println(r);
}
}
楼上用int会数据溢出。
3楼
2021-01-28 10:56
public class Day11{
//参数是数字88...88中8的个数
public static int num(int n){
int num = 0 ;
for(int i=0;inum = num + 8*(int)Math.pow(10,i) ;
}
return num ;
}
//求和,参数len是累加的个数
public static int sum(int len){
int sum = 0 ;
for(int i=1;i<=len;i++){
sum += num(i) ;
}
return sum ;
}
public static void main(String args[]){
//测试
System.out.println("8 = " + sum(1)) ;
System.out.println("8+88 = " + sum(2)) ;
System.out.println("8+88+888 = " + sum(3)) ;
System.out.println("8+88+888+8888 = " + sum(4)) ;
System.out.println("8+88+...+888888888 = " + sum(9)) ;
}
}
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看