刚做完京东校招在线笔试,第一道编程题居然没做出来,开始时没想到关键点还以为题目出错了,浪费了很多时间,郁闷……

题目如下:

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);}}
}

这次笔试的教训是做题时需要保持冷静清晰的思维,还有不要随便怀疑题目的正确性,最重要的是,一定要找个安静的地方笔试!找个安静的地方笔试!

找个安静的地方笔试!重要的事情说三遍!旁边要是有几个逗比室友在吵吵闹闹看动画片,你再牛逼也别想发挥好!

京东校招编程题——小熊分苹果相关推荐

  1. 《网易编程题》分苹果

    题目描述 n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少 ...

  2. 搜狗校招编程题-建房子

    @[TOC][搜狗校招编程题-建房子] 题目描述 某市政府规划建设一个新的小镇,要求小镇上的所有房屋都坐落在同一条东西向大姐的北侧并且临街(两座房子不能重叠).到目前为止,这条街上已经建造了n座房子, ...

  3. 【vivo2021届秋季校招编程题】【java】广度优先搜索(BFS)/深度优先搜索(DFS)找最短路径长度

    vivo2021届秋季校招编程题 图中 找两点间的最短路径长度 广度搜索bfs/深度搜索dfs vivo游戏中心的运营小伙伴最近接到一款新游戏的上架申请,为了保障用户体验,运营同学将按运营流程和规范对 ...

  4. 京东校招java面试题_京东2018校招编程题解答(Java)

    写在前面 本文主要是解答这次校招中京东的笔试编程题,这次京东的笔试编程题比较难,涉及KMP算法.manacher算法等.文中的解法也是在观看了左神(左程云)9月20号在牛客网的直播后,自己花时间写出来 ...

  5. 算法题:分苹果(2016京东招聘笔试题)

    笔试题:分苹果(2016京东招聘笔试题) 题目: 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重 ...

  6. 微软校招编程题Beautiful String的状态机解法

    昨天碰巧看到一道微软校招的编程题,题目大意如下: 如果一个字符串包括三组或者更多组的连续升序字母,每组长度相等,那么我们就称这个字符串是Beautiful String如下是一些Beautiful S ...

  7. 小米校招编程题:数组乘积、异形数、朋友圈

    这里记录一下方便查找,原文地址:http://blog.csdn.net/hackbuteer1/article/details/8484974 二.编程题 1.数组乘积(15分) 输入:一个长度为n ...

  8. 拼多多2018校招编程题

    [编程题] 最大乘积 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)  输入描述: 无序整数数组A[n] 输出描述: 满足 ...

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

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

最新文章

  1. Datawhale与Tianchi助力产学研融合-华北电力大学专场
  2. Java中非法参数的异常_Java中的异常
  3. Hadoop系列四:Hadoop之Hive篇
  4. SAP UI5 使用 Smart Control 的一个具体例子
  5. expr命令 linux,Shell expr命令进行整数计算的实现
  6. JDBC ResultSet 可更新的结果集
  7. iOS开发总结——项目目录结构
  8. 20. JavaScript 事件处理
  9. 根据银行账号判定所属银行
  10. 弗洛伊德算法原理解释(数学证明)
  11. python识别文字并且提示_Python识别文字,实现看图说话|CSDN博文精选
  12. 【原创】基于Springboot、WebSocket的一对一聊天室
  13. hadoop-bigdata-v2.2 版本shell脚本一键部署 master、slaver1、slaver2三个节点源代码.
  14. 112、Flutter实现图片放大缩小的动画小
  15. envi的三个窗口_ENVI显示窗口遥感影像显示遥感数据应用
  16. 计算机方向论文选题,初中计算机方向论文选题 初中计算机论文题目如何取
  17. X64汇编语言寄存器结构及其与X86架构编程区别
  18. ThingsBoard安装
  19. K8S云管平台开发实践 - Dockerfile
  20. 快消品b2b电子商务网站建设方案

热门文章

  1. 对js函数的初步认识 对乘法表简单改进
  2. 中国服务机器人行业发展现状分析,相关企业数量迅速增加「图」
  3. Mysql详解——索引优化
  4. 【VUE学习】(一)IDEA:Vue的安装和使用(详细过程)
  5. 前端开发要遵守什么规范 如何成为企业急需人才
  6. UVA220 黑白棋 Othello
  7. 谁负责Scrum 中的产品待办列表?
  8. C语言编程题 25. 编程实现输出100以内的所有“完数”,完数是指一个整数等于他所有小于它自身的所有因子之和。如:6=1+2+3,那么6就是完数。
  9. 猎豹浏览器新版更新 增加猎豹商店支持第三方插件
  10. Pyecharts Geo创建中国可视化地图