黑马程序员技术交流社区
标题:
编程题
[打印本页]
作者:
轩辕邵宇
时间:
2014-11-19 00:10
标题:
编程题
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
作者:
涉江
时间:
2014-11-19 09:29
我觉得这应该是算法的问题了
作者:
cbb
时间:
2014-11-19 09:48
内部解析:你需要一个永远不会变的数2 然后在用第一个数累加 后面跟着 这个数*10 然后再加上那个万年老二 就OK了
作者:
冥夜
时间:
2014-11-19 09:54
2=2
22=2*10+2
222=22*10+2
2222=222*10+2
完毕
作者:
Eagle
时间:
2014-11-19 10:31
可否把楼上的递归。然后就OK啦。哈哈
作者:
pillar
时间:
2014-11-19 10:49
public class SumTest {
public static void main(String[] args) {
int sum = 0; // 累加器,用于累加求和
int a = 2; // 任意一个数
int b = 0; // 在累加过程中用于表示当前一轮的数
int c = 5; // 共有多少数相加
for (int i = 0; i < c; i++) { // 循环累加,假设有5个数相加
b = b * 10 + a; // 当前一轮的数等于上一轮的数乘以10再加a的值
sum += b;
}
System.out.println(sum);
}
}
复制代码
仔细研究,实现算法应该还有多种。我好像没有实现你说的“几个数相加有键盘控制”,这个应该是让变量c等于由键盘输入的一个值就行了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2