当前位置:编程学习 > JAVA >>

如何实现从一加到100?

不能用条件判断、各种循环、枚举,如何实现? --------------------编程问答-------------------- 1+2+3+4+...+100 --------------------编程问答-------------------- int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70
+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100;
System.out.println(a); --------------------编程问答-------------------- 方法2:
int a = (1 + 100) * 50;
System.out.println(a);

方法3:
System.out.println("1 加到 100 为:" + 5050); --------------------编程问答-------------------- #include <stdio.h>
int f_sum(int n)
{
    return (n + 1) * n / 2;
}

int main(int argc, char **argv)
{
    fprintf(stdout, "%d\n", f_sum(100));
    return 0;
} --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67……


这个有才 --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67……


太有才了。。。 --------------------编程问答-------------------- 递归 求阶乘啊 --------------------编程问答-------------------- 还有就是 公式 (1+100)*100/2 --------------------编程问答-------------------- 那就用面向对象的思想设计一下,免去面向过程的东西 --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+……
面向过程的经典答案。。。 --------------------编程问答--------------------

static int sum=0;
public static void sum(int count)
{
if(count>0)
{
sum=sum+count;
sum(count-1);
}
}
public static void main(String[] args)
{
sum(100);
System.out.println(sum);
}

通过递归实现.... --------------------编程问答--------------------                 
$.ajax({
    url: 'www.baidu.com/s?w=一到一百的和',
    type: 'GET',
    dataType: 'txt/html',
    timeout: 1000,
    success: function(txt){
        alert(txt)
    }
}); --------------------编程问答--------------------
引用 11 楼 jdream314 的回复:
Java code

static int sum=0;
    public static void sum(int count)
    {
    if(count>0)
    {
    sum=sum+count;
    sum(count-1);
    }
    }
    public static void main(String[] args)
 ……

考的应该是这个~递归 --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+……
表示太神了。。。 --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+……

 确实有才~! --------------------编程问答-------------------- 这样做:
在构造器里面做一个自加
class A{
   public static sum = 0;
   public static order = 0;
   public A{
       sum += ++order ;
}
}
对这个对象new 100次,然后读出sum就可以了。 --------------------编程问答-------------------- 递归:
public int sum(n){
  if (n != 0)
    return n + sum(n - 1); 
}
调用的话:
sum(100); --------------------编程问答-------------------- 12楼的答案不错哦 --------------------编程问答-------------------- 2楼的答案太给力了。。。 --------------------编程问答--------------------
引用 13 楼 flyoffox 的回复:
引用 11 楼 jdream314 的回复:
Java code

static int sum=0;
public static void sum(int count)
{
if(count>0)
{
sum=sum+count;
sum(count-1);
}
}
public static void main(String[] args)
……

考的应该是这个……


这个用了条件判断。 只能用 n * (n+1) / 2;  据说,这是微软的一道面试题, 而且还不允许用乘法。 --------------------编程问答-------------------- 3个方法都相当给力。。。 --------------------编程问答-------------------- 根据等差数列求和公式sum=n/2*(1+n)
int sun=100/2*101 --------------------编程问答-------------------- public class zuanshi {
public static void main(String[] args) {
int i = 1;
int day = 100;
int sum = 0;

for (int j = 0; j < day; j++) {
sum += i;
i++;
}
System.out.println("1+2+3+..+..100="+sum+);
}

} --------------------编程问答-------------------- 考的应该是这个~递归

 
public static int sum(int n) {
if (n >= 0) {
    if (n == 0)
return n;
    else {
return n + sum(n - 1);
    }
}
return -1;
    }
--------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+……


看了2楼的回复,我虎躯一震,精尽人亡。。 --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67……

哈哈。相当震撼! --------------------编程问答-------------------- 说得时不用条件判断 --------------------编程问答--------------------
引用 2 楼 bao110908 的回复:
int a = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67……

补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,