已知:
sum=2+5+8+11+14+⋯
输入正整数 n,求前 n 项和。
输入格式
每行输入一个正整数 n(1≤n≤100)。
输出格式
答案输出在一行。
样例输入
2
样例输出
7
问题链接:JSK-388 等差数列
问题描述:(略)
问题分析:
这是一个等差数列计算问题。
可以使用等差数列的通项公式(即数学公式)来计算。这种做法概括起来说就是,对于实际问题,先用数学方法解一下,通常是得到更为简单的数学式子,然后再编写程序。
另外一种做法是直接用循环语句实现数列求和。对于数学不好,懒得进行数学建模和推导的人来说,直接编写程序来解决。
程序说明:(略)
参考链接:(略)
题记:程序员心中有三个世界,一是问题来源的现实世界,二是数学世界,三是机器世界(计算机世界)。
AC的C语言程序(数学公式)如下:
/* JSK-388 等差数列 */
#include <stdio.h>
#define D 3
#define A1 2
int main(void)
{
int n;
scanf("%d", &n);
printf("%d\n", n * A1 + n * (n - 1) * D / 2);
return 0;
}
AC的C语言程序(循环计算)如下:
/* JSK-388 等差数列 */
#include <stdio.h>
#define D 3
int main(void)
{
int n, ai, sum, i;
scanf("%d", &n);
ai = 2;
sum = 0;
for(i = 1; i <= n; i++) {
sum += ai;
ai += D;
}
printf("%d\n", sum);
return 0;
}