日行一算(The Simple Problem - 等差数列)

题目#

题目描述
Solo上了大学,对数学很感兴趣,有一天他面对数分三,一个Sequence(数列)摆在了他面前,这可难住他了……
序列如下:S(a,k,n)=a+(k+a)+(2k+a)+…+(nk+a),题目要他对序列求和,但是a、k、n的取值好多,他不知如何是好,于是他决定写个程序……
Can you get it?

题目数据范围:

0<=a<=100.
0<=k<=100.
0<=n<=100.
解答要求
时间限制:1000ms, 内存限制:100MB
输入
输入只有一行,包含三个整数a、k和n。

输出
根据输入的a、k和n,输出S(a,k,n)的值。

样例
输入样例 1

1 2 4
输出样例 1

25
提示样例 1

解题思路:#

将S(a,k,n)=a+(k+a)+(2k+a)+…+(nk+a)转化为a(n+1)+(n+1)n/2*k

等差数列通项公式Sn = n(a1+an)/2

化简:

Copy
S(a,k,n)=a+(k+a)+(2k+a)+...+(nk+a) =a(n+1)+k(1+2+...+n) =a(n+1)+kn(n+1)/2 =(2a+kn)(n+1)/2
Copy
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int k = scanner.nextInt(); int n = scanner.nextInt(); System.out.println((2*a+k*n)*(n+1)/2); }
posted @   dawa大娃bigbaby  阅读(194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
历史上的今天:
2020-02-23 Node.JS学习——学习笔记
2020-02-23 JVM学习——G1垃圾回收器(学习过程)
2020-02-23 JVM学习——垃圾回收GC(学习过程)
2020-02-23 JVM学习——内存空间(学习过程)
2020-02-23 JVM学习——字节码(学习过程)
2020-02-23 JVM学习——类加载机制(学习过程)
2020-02-23 JVM学习——学习方法论&学习大纲
点击右上角即可分享
微信分享提示
CONTENTS