如何实现从一加到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;
} --------------------编程问答--------------------
这个有才 --------------------编程问答--------------------
太有才了。。。 --------------------编程问答-------------------- 递归 求阶乘啊 --------------------编程问答-------------------- 还有就是 公式 (1+100)*100/2 --------------------编程问答-------------------- 那就用面向对象的思想设计一下,免去面向过程的东西 --------------------编程问答-------------------- 面向过程的经典答案。。。 --------------------编程问答--------------------
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)
}
}); --------------------编程问答--------------------
考的应该是这个~递归 --------------------编程问答-------------------- 表示太神了。。。 --------------------编程问答--------------------
确实有才~! --------------------编程问答-------------------- 这样做:
在构造器里面做一个自加
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楼的答案太给力了。。。 --------------------编程问答--------------------
这个用了条件判断。 只能用 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楼的回复,我虎躯一震,精尽人亡。。 --------------------编程问答--------------------
哈哈。相当震撼! --------------------编程问答-------------------- 说得时不用条件判断 --------------------编程问答--------------------
牛
补充:Java , Java SE