京东校招编程题——小熊分苹果
刚做完京东校招在线笔试,第一道编程题居然没做出来,开始时没想到关键点还以为题目出错了,浪费了很多时间,郁闷……
题目如下:
N(1<N<9)只熊分一堆苹果,第一只熊(叫小东)把苹果平均分成N分,刚好多出一个,扔掉多出的那个并取走一份,后面每只熊以此类推。
问苹果最少多少个。
题目的关键点在于每只熊取走后剩下的苹果数是(N-1)的倍数,取之前苹果数%N==1,采用逆向思维,设最后一只熊取走后剩下m个苹果,从初始值
为N-1的情况开始尝试,根据分配原则逆向推N步,假如逆推过程中出现不符合条件的数,则放弃逆推,增大m的初始值再次尝试,直到能成功逆推N步为止。
此时逆推得到的值便是最小值。
代码如下:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sca = new Scanner(System.in);while(sca.hasNextInt()){int n = sca.nextInt();int m = n - 1;int k = 1;while(true){int i = 0;for(i = 0; i < n; i++){if(m % (n - 1) != 0) break;m = m * n / (n - 1) + 1;}if(i != n){m = (++k) * (n - 1);continue;}break;}System.out.println(m);}}
}
这次笔试的教训是做题时需要保持冷静清晰的思维,还有不要随便怀疑题目的正确性,最重要的是,一定要找个安静的地方笔试!找个安静的地方笔试!
找个安静的地方笔试!重要的事情说三遍!旁边要是有几个逗比室友在吵吵闹闹看动画片,你再牛逼也别想发挥好!
京东校招编程题——小熊分苹果相关推荐
- 《网易编程题》分苹果
题目描述 n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少 ...
- 搜狗校招编程题-建房子
@[TOC][搜狗校招编程题-建房子] 题目描述 某市政府规划建设一个新的小镇,要求小镇上的所有房屋都坐落在同一条东西向大姐的北侧并且临街(两座房子不能重叠).到目前为止,这条街上已经建造了n座房子, ...
- 【vivo2021届秋季校招编程题】【java】广度优先搜索(BFS)/深度优先搜索(DFS)找最短路径长度
vivo2021届秋季校招编程题 图中 找两点间的最短路径长度 广度搜索bfs/深度搜索dfs vivo游戏中心的运营小伙伴最近接到一款新游戏的上架申请,为了保障用户体验,运营同学将按运营流程和规范对 ...
- 京东校招java面试题_京东2018校招编程题解答(Java)
写在前面 本文主要是解答这次校招中京东的笔试编程题,这次京东的笔试编程题比较难,涉及KMP算法.manacher算法等.文中的解法也是在观看了左神(左程云)9月20号在牛客网的直播后,自己花时间写出来 ...
- 算法题:分苹果(2016京东招聘笔试题)
笔试题:分苹果(2016京东招聘笔试题) 题目: 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重 ...
- 微软校招编程题Beautiful String的状态机解法
昨天碰巧看到一道微软校招的编程题,题目大意如下: 如果一个字符串包括三组或者更多组的连续升序字母,每组长度相等,那么我们就称这个字符串是Beautiful String如下是一些Beautiful S ...
- 小米校招编程题:数组乘积、异形数、朋友圈
这里记录一下方便查找,原文地址:http://blog.csdn.net/hackbuteer1/article/details/8484974 二.编程题 1.数组乘积(15分) 输入:一个长度为n ...
- 拼多多2018校招编程题
[编程题] 最大乘积 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出描述: 满足 ...
- [华为机试真题]70.分苹果
题目 M个相同苹果放到N个相同篮子里有多少种放法,允许有篮子不放.1<=M<=10,1<=N<=10例如5个苹果三个篮子,3,1,1 和 1,1,3是同一种放法输入 7 3输出 ...
最新文章
- Datawhale与Tianchi助力产学研融合-华北电力大学专场
- Java中非法参数的异常_Java中的异常
- Hadoop系列四:Hadoop之Hive篇
- SAP UI5 使用 Smart Control 的一个具体例子
- expr命令 linux,Shell expr命令进行整数计算的实现
- JDBC ResultSet 可更新的结果集
- iOS开发总结——项目目录结构
- 20. JavaScript 事件处理
- 根据银行账号判定所属银行
- 弗洛伊德算法原理解释(数学证明)
- python识别文字并且提示_Python识别文字,实现看图说话|CSDN博文精选
- 【原创】基于Springboot、WebSocket的一对一聊天室
- hadoop-bigdata-v2.2 版本shell脚本一键部署 master、slaver1、slaver2三个节点源代码.
- 112、Flutter实现图片放大缩小的动画小
- envi的三个窗口_ENVI显示窗口遥感影像显示遥感数据应用
- 计算机方向论文选题,初中计算机方向论文选题 初中计算机论文题目如何取
- X64汇编语言寄存器结构及其与X86架构编程区别
- ThingsBoard安装
- K8S云管平台开发实践 - Dockerfile
- 快消品b2b电子商务网站建设方案
热门文章
- 对js函数的初步认识 对乘法表简单改进
- 中国服务机器人行业发展现状分析,相关企业数量迅速增加「图」
- Mysql详解——索引优化
- 【VUE学习】(一)IDEA:Vue的安装和使用(详细过程)
- 前端开发要遵守什么规范 如何成为企业急需人才
- UVA220 黑白棋 Othello
- 谁负责Scrum 中的产品待办列表?
- C语言编程题 25. 编程实现输出100以内的所有“完数”,完数是指一个整数等于他所有小于它自身的所有因子之和。如:6=1+2+3,那么6就是完数。
- 猎豹浏览器新版更新 增加猎豹商店支持第三方插件
- Pyecharts Geo创建中国可视化地图