java代码求1+2+3+....+100的和,不能用 for while语句,不能用return
答案:6 悬赏:70
解决时间 2021-02-26 12:12
- 提问者网友:王者佥
- 2021-02-25 21:29
java代码求1+2+3+....+100的和,不能用 for while语句,不能用return
最佳答案
- 二级知识专家网友:零点过十分
- 2021-02-25 23:00
private static int sum = 0;
private static int i = 0;
public static void main(String[] args) {
sum = sum + i++;
if (i <= 100) {
main(args);
} else {
System.out.println(sum);
}
}
private static int i = 0;
public static void main(String[] args) {
sum = sum + i++;
if (i <= 100) {
main(args);
} else {
System.out.println(sum);
}
}
全部回答
- 1楼网友:风格不统一
- 2021-02-26 03:23
使用等差数列求和公式n×(n+1)/2追问具体如何实现呢追答public class Demo {
public static void main(String[] args) {
System.out.println(100*(100+1)/2);
}
}这样,手机打的,不知道有没有错,你验证一下
public static void main(String[] args) {
System.out.println(100*(100+1)/2);
}
}这样,手机打的,不知道有没有错,你验证一下
- 2楼网友:拜訪者
- 2021-02-26 02:23
那就是暗示你,用递归吧
- 3楼网友:你哪知我潦倒为你
- 2021-02-26 01:25
最简单的就是直接加起来了,滑稽脸
又不能用循环 又不能用return(递归)
那好吧 用等差数列求和公式好了int a1 = 1;//开始项
int d = 1;//公差
int n = 100;//项数
int sum = n*start+n*(n-1)*d/2;
- 4楼网友:詩光轨車
- 2021-02-26 01:19
用迭代
private static int i = 0;
private static int temp = 0;
public static void rer() {
System.out.println(temp);
if (temp < 100) {
temp++;
i += temp;
rer();
}
}
public static void main(String[] args) {
rer();
System.out.println(i);
}
private static int i = 0;
private static int temp = 0;
public static void rer() {
System.out.println(temp);
if (temp < 100) {
temp++;
i += temp;
rer();
}
}
public static void main(String[] args) {
rer();
System.out.println(i);
}
- 5楼网友:何以畏孤独
- 2021-02-26 00:07
那就直接用数学公式了 (1 + 100) / 2 * 100 = 5050
或者这样public static void main(String args[]){
final Timer timer = new Timer();
final long delay = 1;
Date date = new Date();
timer.schedule(new TimerTask() {
int num = 1;
public void run() {
System.out.println(num++);
if (num == 0x65){
timer.cancel();
}
}
}, date, delay);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯