华为机试---小东分苹果
题目描述
果园里有一堆苹果,一共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; } }
华为机试---小东分苹果相关推荐
- 华为机试330分python实现
华为机试330分python实现 转载声明:本文是本人原创.其他人转载请注明来源(CSDN)附url地址.本人保留追究一切法律责任的权利,谢谢. 第一题100分,代码完成100% 第二题100分,完成 ...
- 华为机试_HJ61 放苹果【简单】【收藏】
目录 描述 输入描述: 输出描述: 解题过程 提交代码 递归方法 动态规划方法 学习代码 递归方法 动态规划方法 收藏点 描述 把m个同样的苹果放在n个同样的盘子里,允许有的盘子空着不放,问共有多少种 ...
- [华为机试真题]70.分苹果
题目 M个相同苹果放到N个相同篮子里有多少种放法,允许有篮子不放.1<=M<=10,1<=N<=10例如5个苹果三个篮子,3,1,1 和 1,1,3是同一种放法输入 7 3输出 ...
- 【华为机试真题详解】不含 101 的数【2022 Q4 | 100分】
文章目录 前言 题目描述 输入描述 输出描述 示例 1 示例2 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果 ...
- 【华为机试真题详解】开心消消乐【2022 Q4 | 100分】
文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...
- 【华为机试真题 Python实现】篮球比赛【2022 Q1 Q2 | 200分】
文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...
- 【华为机试真题详解】优选核酸检测点【2022 Q4 | 100分】
文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解 Python实现>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备 ...
- 【华为机试真题 Python实现】热点网站统计【2022 Q1 Q2 | 100分】
文章目录 前言 题目描述 示例 1 参考代码 前言 <华为机试真题>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您 ...
- 【华为机试真题详解 Python实现】最差产品奖【2023 Q1 | 100分】
文章目录 前言 题目描述 输入描述 输出描述 示例 1 题目解析 参考代码 前言 <华为机试真题详解>专栏含牛客网华为专栏.华为面经试题.华为OD机试真题. 如果您在准备华为的面试,期间有 ...
最新文章
- 同步等待异步操作,为什么Wait()在这里冻结程序
- php 递归删除函数
- zTree树形菜单使用实例
- 接口响应的Response Header打印不出全部值问题
- 闲话网名之“Johnny”
- 【columnstore】mariadb columnstore 数据迁移
- jmh 基准测试_JMH:如何设置和运行JMH基准
- 用代码玩剧本杀?第3届83行代码大赛剧情官方解析
- Ray.tune可视化调整超参数Tensorflow 2.0
- Best Cow Line(POJ-3617)
- Spring Batch 使用指南
- matlab 输入方程组,弱弱地问,如何输入以下方程组?
- 使用arttemplate js模板引擎,直接用模板渲染,减少字符串拼接。
- P3435 [POI2006]OKR-Periods of Words
- 如何联合R与Hadoop更好处理大数据!
- ISO14443、15693、18000体系分析
- 物联网——无线通信技术
- JAVA实现时间换算
- 电脑键盘部分按键失灵_方法 | 键盘按键部分失灵,怎么办?
- USACO16FEB:再探圆形谷仓(dp)