编程论坛
注册
登录
编程论坛
→
C++教室
jzxx2715数列求和
Jason_
发布于 2019-07-14 18:12, 3283 次点击
简单数列是有规律排列的一些数,例如1,2,3,4,5,6,7就是这样的数列,这种数列中的后一个数总是比前一个数多或少一个相同的数,其实只要知道这种数列中的前三个数和最后一个数就可以写出数列中的所有的数。你的任务是根据给 出的数列求出这个数列所有数的和。每个数列的前三个数和最后一个数从键盘输入。
输入为
数列的前三个数x1,x2,x3和最后一个数xn。(-100<=x1,x2,x3,xn<=100)
输出为
数列求和的算式和该数列之和。
这道题目没有思路,希望大佬们点拨或帮忙写一下代码
4 回复
#2
rjsp
2019-07-14 19:08
[(xn-x1)/(x2-x1)+1]*(xn+x1)/2
看不懂 x3 有什么用,要不你将题目链接发一下
#3
Jason_
2019-07-14 19:54
回复 2楼 rjsp
http://oj.
这是题目的网址
#4
rjsp
2019-07-15 09:12
回复 3楼 Jason_
x3 确实是多余的。
下面的代码,连 x3 都没输入,结果依然正确。
程序代码:
#include
<stdio.h>
int
main(
void
)
{
//
输入
int
x1,x2,xn;
scanf(
"
%d%d%*d%d
"
, &x1,&x2,&xn );
//
求和
int
result = ((xn-x1)/(x2-x1)+
1
)*(xn+x1)/
2
;
//
输出
int
n = (xn-x1)/(x2-x1)+
1
;
int
x3 =
2
*x2-x1;
printf( x1<
0
?
"
(%d)+
"
:
"
%d+
"
, x1 );
printf( x2<
0
?
"
(%d)+
"
:
"
%d+
"
, x2 );
printf( x3<
0
?
"
(%d)+
"
:
"
%d+
"
, x3 );
printf( n<
5
?
""
:
"
...+
"
);
printf( xn<
0
?
"
(%d)=
"
:
"
%d=
"
, xn );
printf(
"
%d\n
"
, result );
return
0
;
}
#5
Jason_
2019-07-15 20:16
回复 4楼 rjsp
题目描述里应该是要输入x3的,但是我提交了一下确实是正确
1