codewars解题笔记---Grasshopper - Summation

Instructions:

Summation:

Write a program that finds the summation of every number from 1 to num. The number will always be a positive integer greater than 0.

For example:

summation(2) -> 3
1 + 2

summation(8) -> 36
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8

Sample Tests:

import java.util.Random;
import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class GrassHopperTest {
    @Test
    public void test1() {
        assertEquals(1,
        GrassHopper.summation(1));
    }
    @Test
    public void test2() {
        assertEquals(36,
        GrassHopper.summation(8));
    }
}

 Solution:

public class GrassHopper {

    public static int summation(int n) {

        return 0;
    }
}

题目解说:

编写一个程序,查找从1到num的每个数字的总和。该数字始终是大于0的正整数。

例如:

summation(2) -> 3
1 + 2

summation(8) -> 36
1 + 2 + 3 + 4 + 5 + 6 + 7 + 8

我的答案:

public class GrassHopper {

    public static int summation(int n) {
        int sum;
        int sum2 = 0;
        for(int i = 1;i<=n;i++){
            sum = i;
            sum2 = sum + sum2;
        }
        return sum2;
    }
}

最优答案:

public class GrassHopper {

    public static int summation(int n) {

        return  n*(n+1)/2;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值