日行一算(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
化简:
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
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);
}
作者: dawa大娃bigbaby
出处:https://www.cnblogs.com/dawabigbaby/p/15926003.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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学习——学习方法论&学习大纲