华为机试 等差数列(简单)

等差数列

http://www.nowcoder.com/questionTerminal/f792cb014ed0474fb8f53389e7d9c07f

题目描述

功能:等差数列 2,5,8,11,14。。。。
输入:正整数N >0
输出:求等差数列前N项和
本题为多组输入,请使用while(cin>>)等形式读取数据

方法1:

暴力逐加

#include<iostream>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        int ans=0;//ans存储求和结果
        for(int i=0,num=2;i<n;i++,num+=3)//num存储当前数,从2开始,每次加3
            ans+=num;
        cout<<ans<<endl;
    }
    return 0;
}

方法2:

套用等差数列求和公式:
图片说明

    while(cin>>n){
        cout<<n*2+3*(n-1)*n/2<<endl;
    }
全部评论

相关推荐

评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务