蓝桥杯 数的潜能

蓝桥杯 数的潜能

先来看均值不等式:

gif.latex?egin{align} &H_n=rac{n}{sum_{i=1}^{n}rac{1}{x_i}}=rac{n}{rac{1}{x_1}+rac{1}{x_2}+dots +rac{1}{x_n}}\ &G_n=sqrt[n]{prod_{i=1}^{n}x_i}=sqrt[n]{x_1x_2dots x_n}\ &A_n=rac{sum_{i=1}^{n}x_i}{n}=rac{x_1+x_2+dots+x_n}{n}\ &Q_n=sqrt{rac{sum_{i=1}^{n}x_i^2}{n}}=sqrt{rac{x_1^2+x_2^2+dots +x_n^2}{n}} end{align}

从上到下且依次从小到大为(1)调和平均数、(2)几何平均数、(3)算数平均数、(4)平方平均数
由均值不等式(2)和(3)
可知:gif.latex?egin{align} x_1x_2 cdotcdotcdot x_nle (rac{x_1+x_2+dots+x_n}{n})^n end{align}

对不等式右边求导,可得:每一份x/n为e.

由于题目要求是整数,所以只要每项最接近e且乘积最大即可。

看代码:

import java.math.BigInteger;import java.util.Scanner;public class NumsPotency {public static void main(String[] args) {Scanner in = new Scanner(System.in);long NUMS = in.nextLong();long M =(long)(NUMS/3);//计算有多少项long flag = (long)(NUMS%3);//余多少,后面补项if(NUMS==1) {System.out.println(1);System.exit(0);}BigInteger e = BigInteger.valueOf(M);BigInteger e_1 = BigInteger.valueOf(M-1); BigInteger three = new BigInteger("3");//构造大整数类型BigInteger four = new BigInteger("4");BigInteger two = new BigInteger("2");BigInteger mod = new BigInteger("5218");BigInteger end1 = three.modPow(e, mod);//e次方后去模%modBigInteger end2 = three.modPow(e_1, mod);if(flag==2) {//补项操作System.out.println(end1.multiply(two).mod(mod));}else if(flag==1) {System.out.println(end2.multiply(four).mod(mod));}else {System.out.println(end1);}in.close();}}

​​

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值