题目描述
给出三个整数,分别表示等差数列的第一项、最后一项和公差,求该数列的和。
输入
输入三个整数,之间用空格隔开。第1个数作为首项,第2个数作为末项,第3个数作为公差.
输出
输出占一行,包含一个整数,为该等差数列的和。
样例输入
2 11 3
样例输出
26
等差数列基本公式:
末项=首项+(项数-1)×公差
项数=(末项-首项)÷公差+1
首项=末项-(项数-1)×公差
和=(首项+末项)×项数÷2
末项:最后一位数
首项:第一位数
项数:一共有几位数
和:求一共数的总和
java:
import java.util.Scanner;
public class zzuli1006 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//定义三个整数
int a1 = sc.nextInt();
int an = sc.nextInt();
int d = sc.nextInt();
//求项数,项数=(末项-首项)÷公差+1
int n = (an-a1)/d + 1;
//求和,和=(首项+末项)×项数÷2
int sum = (a1 + an) * n / 2;
System.out.println(sum);
}
}
C:
#include <stdio.h>
int main(int argc, char const *argv[])
{
int a1,an,d;
scanf("%d",&a1);
scanf("%d",&an);
scanf("%d",&d);
//求项数,项数=(末项-首项)÷公差+1
int n = (an - a1) / d + 1;
//求和,和=(首项+末项)×项数÷2
int sum = (a1 + an) * n / 2;
printf("%d\n",sum);
return 0;
}
C++:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char const *argv[])
{
int a1,an,d;
cin >> a1 >> an >> d;
//求项数,项数=(末项-首项)÷公差+1
int n = (an - a1) / d + 1;
//求和,和=(首项+末项)×项数÷2
int sum = (a1 + an) * n / 2;
cout << sum << endl;
return 0;
}
为了自考本科,每周做一道acm题练习C++语言。
2018年2月3日 10:18 沙发
学这些数学首先得很好才是
2018年2月6日 16:02 1层
@wordpress企业主题 差不多是这样
2018年1月29日 09:16 板凳
拜访博主,新年快乐