【JZOJ5182】 码灵鼠【数论,数学】

本文针对一道数学期望问题,给出了详细的求解过程。通过数学公式推导,最终得出期望值的计算方法,并提供了一段C++代码实现。适用于对数学期望和编程有一定了解的读者。

题目大意:

题目链接:https://jzoj.net/senior/#main/show/5182
题目图片:
http://wx2.sinaimg.cn/mw690/0060lm7Tly1fwlvf1fyufj30j60a8dfz.jpg
http://wx3.sinaimg.cn/mw690/0060lm7Tly1fwlvf18v6hj30j30e93ym.jpg
已知 a 0 = 1 a_0=1 a0=1 a i = a j + a k ( j , k ∈ [ 0 , 1... , k − 1 ] ) a_i=a_j+a_k(j,k\in[0,1...,k-1]) ai=aj+ak(j,k[0,1...,k1]),求 a n a_n an的期望值向下取整。


思路:

题目大意: n + 1   P r o b l e m n+1\ Problem n+1 Problem

证明:
首先,我们知道有
a n = ( 1 + 1 ) + . . . + ( 1 + n ) + ( 2 + 1 ) + . . . + ( 2 + n ) + . . . + ( n + n ) n 2 a_n=\frac{(1+1)+...+(1+n)+(2+1)+...+(2+n)+...+(n+n)}{n^2} an=n2(1+1)+...+(1+n)+(2+1)+...+(2+n)+...+(n+n)
上式根据高斯求和得
a n = n n ( n + 1 ) 2 + n n ( n + 1 ) 2 n 2 a_n=\frac{n\frac{n(n+1)}{2}+n\frac{n(n+1)}{2}}{n^2} an=n2n2n(n+1)+n2n(n+1)

a n = ( n + 1 ) n 2 n 2 = n + 1 a_n=\frac{(n+1)n^2}{n^2}=n+1 an=n2(n+1)n2=n+1
证毕。


代码:

#include <cstdio>
#define ll long long
using namespace std;

int t;
ll n;

int main()
{
	scanf("%d",&t);
	while (t--)
	{
		scanf("%lld",&n);
		printf("%lld\n",n+1);
	}
	return 0;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值