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

等差数列

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;
    }
全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
06-27 15:29
门头沟学院 Java
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务