题目描述

果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个。

给定一个整数n,表示熊的个数,返回最初的苹果数。保证有解。

测试样例:
2
返回:3
算法思想:
设苹果总数为x,一共n头熊来分,均分成n份后多出一个,第i头熊扔掉多出的一个然后拿走自己的一份苹果,
直到最后一头熊(最后一头熊扔掉多出的一个后可以拿走0个)
1.第一头熊 苹果总数x,(x+n-1)能够被n整除
分到的苹果 + 扔掉多出的一个苹果 = (x+n-1)/n
2.第二头熊 苹果总数变为x-(x+n-1)/n
分到的苹果 + 扔掉多出的一个苹果 = {[x - (x+n-1) / n] + (n - 1)}/n
= Math.pow(n-1,1)(x+n-1)/Math.pow(n,2);
3.第三头熊 苹果总数变为x-(x+n-1)/n-(n-1)(x+n-1)/n*n
分到的苹果 + 扔掉多出的一个苹果 = {[x - (x+n-1) / n - (n-1)(x+n-1)/n*n] + (n - 1)}/n
= Math.pow(n-1,2)(x+n-1)/Math.pow(n,3);
...
4.第i头熊
分到的苹果 + 扔掉多出的一个苹果 = Math.pow(n-1,i-1)(x+n-1)/Math.pow(n,i);
5.最后一头熊
分到的苹果 + 扔掉多出的一个苹果 = Math.pow(n-1,n-1)(x+n-1)/Math.pow(n,n);
最后一头熊扔掉一个苹果,分到的苹果可以为0,则Math.pow(n-1,n-1)(x+n-1)/Math.pow(n,n)是正整数,即分子必须是分母的倍数
因为(n-1)^(n-1) 与 n^n 互质,则有(x+n-1) = t*n^n,t取1时x最小,x = n^n-n+1;
import java.util.*;
public class Apples {
public int getInitial(int n) {
int sum = (int)(Math.pow(n , n) - n + 1);
return sum;
}
}

华为机试---小东分苹果相关推荐

  1. 华为机试330分python实现

    华为机试330分python实现 转载声明:本文是本人原创.其他人转载请注明来源(CSDN)附url地址.本人保留追究一切法律责任的权利,谢谢. 第一题100分,代码完成100% 第二题100分,完成 ...

  2. 华为机试_HJ61 放苹果【简单】【收藏】

    目录 描述 输入描述: 输出描述: 解题过程 提交代码 递归方法 动态规划方法 学习代码 递归方法 动态规划方法 收藏点 描述 把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种 ...

  3. [华为机试真题]70.分苹果

    题目 M个相同苹果放到N个相同篮子里有多少种放法,允许有篮子不放.1<=M<=10,1<=N<=10例如5个苹果三个篮子,3,1,1 和 1,1,3是同一种放法输入 7 3输出 ...

  4. 【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 示例2 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果 ...

  5. 【华为机试真题详解】开心消消乐【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  6. 【华为机试真题 Python实现】篮球比赛【2022 Q1 Q2 | 200分】

    文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...

  7. 【华为机试真题详解】优选核酸检测点【2022 Q4 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...

  8. 【华为机试真题 Python实现】热点网站统计【2022 Q1 Q2 | 100分】

    文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...

  9. 【华为机试真题详解 Python实现】最差产品奖【2023 Q1 | 100分】

    文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有 ...

最新文章

  1. 同步等待异步操作,为什么Wait()在这里冻结程序
  2. php 递归删除函数
  3. zTree树形菜单使用实例
  4. 接口响应的Response Header打印不出全部值问题
  5. 闲话网名之“Johnny”
  6. 【columnstore】mariadb columnstore 数据迁移
  7. jmh 基准测试_JMH:如何设置和运行JMH基准
  8. 用代码玩剧本杀?第3届83行代码大赛剧情官方解析
  9. Ray.tune可视化调整超参数Tensorflow 2.0
  10. Best Cow Line(POJ-3617)
  11. Spring Batch 使用指南
  12. matlab 输入方程组,弱弱地问,如何输入以下方程组?
  13. 使用arttemplate js模板引擎,直接用模板渲染,减少字符串拼接。
  14. P3435 [POI2006]OKR-Periods of Words
  15. 如何联合R与Hadoop更好处理大数据!
  16. ISO14443、15693、18000体系分析
  17. 物联网——无线通信技术
  18. JAVA实现时间换算
  19. 电脑键盘部分按键失灵_方法 | 键盘按键部分失灵,怎么办?
  20. USACO16FEB:再探圆形谷仓(dp)

热门文章

  1. 解决word2019中求和符号上下标被强制挪到右边的问题
  2. 802.11 NDP Sounding
  3. Microsoft Exchange Server邮箱管理
  4. BuildAdmin后台管理系统配置QQ邮箱
  5. 【Chrome插件】广告屏蔽神器 Adblock Plus使用教程
  6. (精华)2020年8月7日 微信小程序 直播功能的实现
  7. html转换到pdf转换器,HTML转换到PDF转换器
  8. SQL零基础入门学习(十一)
  9. luckysheet报错
  10. HTML代码格式化工具