首页 > 试题广场 >

小东分苹果

[编程题]小东分苹果
  • 热度指数:13156 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

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


输入描述:
给定一个整数n,表示熊的头数


输出描述:
返回最初的苹果数。保证有解。
示例1

输入

2

输出

3
头像 laglangyue
发表于 2020-08-04 21:43:00
思路 暴力递归从1计算到Integer.MAX_VALUE 高等数学分析再来看看数学上的表达:模拟这个过程,可以写出n个方程y表示苹果数,由于令y最小化,可以用lagrange乘数法写出目标函数;另一种观点是y表征在x的向量空间中,有并且所以可以考虑从特征空间上的角度求解; 数论分析上面给出了第i 展开全文
头像 17c89
发表于 2024-03-28 13:52:07
import java.util.*; /** * JD3 小东分苹果 * @author d3y1 */ public class Apples { /** * 程序入口 * @param n * @return */ public 展开全文