一道创新工场面试题详解:共打了多少鱼?

2023-10-31

一道创新工场面试题详解:共打了多少鱼?
题目:
abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的均分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的均分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼?
解法:
这道题共打了多少鱼的结果有很多,但求最少打的鱼的结果是3121条鱼。
可以验证一下3121结果是否正确。

a开始拿鱼:  (3121 - 1) / 5  = 625   

同理,bcde分别获得的鱼数(不包括其扔掉的鱼)b:499   c:399   d:319  e:255。

这道题最简单的方法就是枚举,从最小值开始,下面以JAVA代码来实现:

public class Test
{
  public static void main(String[] args)
  {
    int[] everybody_fish=new int[5];
	int[] temp=new int[5];
	for(int x=1;x<=1000;x++)
	{
	  int sum=0;
	  int i=0;
	  for(i=0;i<everybody_fish.length;i++)
	  {
	    temp[i]=(x-1-sum)%everybody_fish.length;
		if(temp[i]!=0)
			break;
		everybody_fish[i]=(x-1-sum)/everybody_fish.length+1;
		sum+=everybody_fish[i];
	  }
	  if(i==everybody_fish.length)
	  {
	    System.out.print("共钓了"+x+"条鱼");
		for(i=0;i<everybody_fish.length;i++)
		{
		  System.out.print((char)('a'+i)+":"+(everybody_fish[i]-1)+" ");
		}
		System.out.print("最后剩余"+(x-sum)+"条鱼");
		System.out.print("扔了"+everybody_fish.length+"条鱼");
	  }
	}
  }
}

运行上面的程序,会输出如下三行信息:

共钓了3121条鱼    a:624   b:499   c:399  d:319   e:255   最后剩余1020条鱼       扔了5条鱼

共钓了6246条鱼    a:1249   b:999   c:799  d:639   e:511   最后剩余2044条鱼       扔了5条鱼

共钓了9371条鱼    a:1874   b:1499   c:1199  d:959   e:767   最后剩余3068条鱼       扔了5条鱼





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一道创新工场面试题详解:共打了多少鱼? 的相关文章

  • 字节跳动第五届青训营后端练习题——分割ip(Java版)

    题目 有效 IP 地址正好由四个整数 每个整数位于 0 到 255 之间组成 且不能含有前导 0 整数之间用 分隔 例如 0 1 2 201 和 192 168 1 1 是有效 IP 地址 但是 0 011 255 245 192 168
  • 数学,金融,计算机优秀博客

    数学 金融 计算机优秀博客 网址 http zhiqiang org blog link 阅微堂 阅微堂认同的优秀博客标准为 有更新 原创 一年以前的文章还有价值 数学 谢松 木遥 Han Yan 统计之都 张驰原 李淼 科学松鼠会 卢昌海
  • 几种常用激活函数的简介

    1 sigmod函数 函数公式和图表如下图 在sigmod函数中我们可以看到 其输出是在 0 1 这个开区间内 这点很有意思 可以联想到概率 但是严格意义上讲 不要当成概率 sigmod函数曾经是比较流行的 它可以想象成一个神经元的放电率
  • 线性时间内从一个数组中找出第K个最小的元素——编程珠玑

    线性时间内从一个数组中找出第K个最小的元素 编程珠玑 题目 编写程序 在O n 时间内从数组x 0 n 1 中找出第k个最小的元素 算法中可以对x中的元素进行排序 思路 快速排序选择一个pivot对数组进行划分 左边小于pivot 右边大于
  • 算法设计艺术——编程珠玑第八章

    算法设计艺术 编程珠玑第八章 下面是书本中讲解的四个算法 问题 求一维数组中连续子向量的最大和 例如 a 6 3 4 2 9 10 8 则最大连续子向量的和 为 10 8 18 1 解法一 简单算法 html view plain copy
  • 海量数据随机抽样问题(蓄水池问题)

    海量数据随机抽样问题 蓄水池问题 随机抽样问题表示如下 要求从N个元素中随机的抽取k个元素 其中N无法确定 这种应用的场景一般是数据流的情况下 由于数据只能被读取一次 而且数据量很大 并不能全部保存 因此数据量N是无法在抽样开始时确定的 但
  • 编写一个"banner"函数,该函数的输入为大写字母

    编写一个 banner 函数 该函数的输入为大写字母 题目 编写一个 banner 函数 该函数的输入为大写字母 输出为一个字符数组 该数组以图像化的方式表示该字母 编程 珠玑 上提到当要 输入 的 数据 很多 且没有 规律 时 可以 考虑
  • 迁移学习概述

    1 迁移学习的背景 在有监督的机器学习和尤其是深度学习的场景应用中 需要大量的标注数据 标注数据是一项枯燥无味且花费巨大的任务 关键是现实场景中 往往无法标注足够的数据 而且模型的训练是极其耗时的 因此迁移学习营运而生 传统机器学习 主要指
  • 蓝桥题解(不定期更新)

    597 跑步锻炼 import math if name main moth 0 31 28 31 30 31 30 31 31 30 31 30 31 day 6 ans 0 for year in range 2000 2021 if
  • 【数学基础】 线性代数以及符号编总

    1基本概念和符号 线性代数可以对一组线性方程进行简洁地表示和运算 例如 对于这个方程组 这里有两个方程和两个变量 如果你学过高中代数的话 你肯定知道 可以为x1 和x2找到一组唯一的解 除非方程可以进一步简化 例如 如果第二个方程只是第一个
  • 枚举子集复杂度 O(n^3) 证明

    困扰多年的问题 居然在学习离散数学后的一分钟内得到解决 形式化问题为 求满足 A B S A sube B sube S A B S 的有序对
  • 基础算--简单枚举

    简单枚举 顾名思义 枚举便是依次列举出所有可能产生的结果 根据题中的条件对所得的结果进行逐一的判断 过滤掉那些不符合要求的 保留那些符合要求的 也可以称之为暴力算法 枚举结构 循环 判断语句 应用场合 在竞赛中 并不是所有问题都可以使用枚举
  • opencv CvSolve函数深度解析

    Opencv CvSolve函数主要是用来求解线性系统Ax b的方程 X的解 solve函数跟它的算法是一样的 也是用来求解线性系统 设方程Ax b 根据有效的方程个数和未知数的个数 可以分为以下3种情况 1 rank A lt n 也就是
  • 中文分词之HMM模型详解

    关于HMM模型的介绍 网上的资料已经烂大街 但是大部分都是在背书背公式 本文在此针对HMM模型在中文分词中的应用 讲讲实现原理 尽可能的撇开公式 撇开推导 结合实际开源代码作为例子 争取做到雅俗共赏 童叟无欺 没有公式 就没有伤害 模型介绍
  • 深度优先搜索——搜索与回溯,从n个数中取出r个数的排列

    5 2 1 include
  • 贪心算法——排队打水问题

    6 3 排队打水问题 有n个人排队到r个水龙头去打水 他们装满水桶的时间为t1 t2 tn为正整数且个不相等 应如何安排他们打水顺序才能使他们花费的时间最少 算法分析 时间总和 等待时间 装水时间 采用贪心思想 先sort 默认将装水时间从
  • 秒杀linux下系统调用fork()面试题

    秒杀linux下系统调用fork 面试题 第一道题 在之前博客也写过这道题 http blog csdn net chdhust article details 8535915 题目 请问下面的程序一共输出多少个 1 2 3 4 5 6
  • 【滑动窗口】算法实战

    文章目录 一 算法原理 二 算法实战 1 leetcode209 长度最小的子数组 2 leetcode3 无重复字符的最长子串 3 leetcode1004 最大连续1的个数 4 leetcode1685 将x减到0的最小操作数 5 le
  • 编写C++中的两个类 一个只能在栈中分配空间 一个只能在堆中分配(腾讯2012面试题)

    编写C 中的两个类 一个只能在栈中分配空间 一个只能在堆中分配 腾讯2012面试题 这道题挺好的 HeapOnly cpp include
  • 归并排序(分析与模板)

    归并排序 思路 1 确定分界元素mid left right 2 2 递归分解数组 两两组合组成两个有序数组 3 归并 合二为一 int temp 100010 merge sort int num int l int r if l gt

随机推荐

  • 数学建模——数据分析方法

    一 常见数据分析软件 Excel office三件套之一 R语言 Eviews origin 图形分析工具 SPSS 统计分析与数据挖掘 MATLAB 墙裂推荐 python 墙裂推荐 SAS 二 统计性描述 均值 mean x
  • 第一次参加蓝桥杯的心得

    随着我的4道题的答案提交后 蓝桥杯第十届比赛落下帷幕 这其中我也是参赛者 对于这次比赛 虽然我是一位小白 但是我也有不少的感悟 因为这一次也是我从小到大参加的第一次大型竞赛 所以我做了以下的总结 这次的比赛是在长沙理工大学比赛 所以对于我来
  • Swin-Unet:Swin Transformer在医学分割上的首次尝试

    Swin Unet Swin Transformer在医学分割上的首次尝试 前言 最近小编主要在搞一些医学图像分割的工作 也跑了一下Swin Unet 之前看到也看到过这篇Swin Unet 其实五月份就看到了hhhh 决定搬运过来 实际上
  • 前端报错500

    后台代码错误无法返回值 检查后台代码
  • log4j:WARN No appenders could be found for logger 的解决方法

    一 SSH在使用Log4j进行日志管理时常会遇到这个异常 log4j WARN No appenders could be found for logger org springframework web context ContextLo
  • STM32F103使用硬件IIC驱动SHT30温湿度传感器

    文章目录 前言 一 SHT30温湿度传感器原理图 二 代码部分 1 SHT30 c文件 2 SHT30 h文件 总结 前言 SHT30是一种常见的温湿度传感器 该传感器广泛应用于各种场景 小米的温湿度传感器就是使用的SHT30 本文是已硬件
  • java Consumer接口与示例

    目录 一 consumer使用 示例代码1 示例代码2 示例代码3 示例代码4 二 BiConsumer使用 示例代码一 示例代码二 三 其他和Consumer相关的接口 Java 8 中的 Consumer 是一个函数接口 它可以接受一个
  • opc matlab gui,OPC Server/Client Demo

    Hi thanks a lot for posting this app I m a student and my assignment is to create a simple OPC client server application
  • 牛顿法/递归法实现开方的函数功能

    Filename sqrt method cpp Description Version 1 0 Created 12 27 2016 03 15 18 PM Revision none Compiler gcc Author YOUR N
  • 英语口语413之每日二十个英语单词

    2020 09 01每日二十个英语单词 synchronization 同步化 synchronization multiprocessor 多处理器同步化 synchronized multimedia integration langu
  • buctoj-python 2022.6.19

    A 对指定r计算圆的面积 题目描述 编写函数getCircleArea 对给定的参数r计算圆的面积 并返回 首先读入n n gt 0 然后依次读入n个半径r1 r2 rn 以这些半径为参数依次调用getCircleArea函数 得到对应圆的
  • 管理员权限运行批处理的几种方法

    废话不说 解决win7运行批处理出错不能注册dll等问题 1 在批处理的第一行加入 cd d dp0 然后在批处理上右键选择使用管理员权限运行 2 右键任务栏 选择资源管理器 进程选项卡 显示所有用户的进程 结束explorer 文件 新建
  • HJ59 找出字符串中第一个只出现一次的字符

    描述 找出字符串中第一个只出现一次的字符 数据范围 输入的字符串长度满足 1 le n le 1000 1 n 1000 输入描述 输入一个非空字符串 输出描述 输出第一个只出现一次的字符 如果不存在输出 1 示例1 输入 asdfasdf
  • linux下查看文件大小:ls或du

    方法1 ls lh 参数解释 l 除文件名称外 亦将文件型态 权限 拥有者 文件大小等资讯详细列出 h human readable 与 l 一起 以易于阅读的格式输出文件大小 例如 1K 234M 2G t 文件显示以修改时间排序 最新修
  • Android 中的CreatePackageContext()

    http blog csdn net wangbole article details 22876179 java view plain copy print Return a new Context object for the give
  • Opencv4基于C++基础入门笔记:图像 颜色 事件响应 图形 视频 直方图

    效果图 opencv人脸识别效果图 请叫我真爱粉 先看一下效果图勾起你的兴趣 文章目录 一 环境配置搭建 二 图像 1 图像读取与显示 main cpp 运行结果 2 图像色彩空间转换 2 1 换色彩 test h test cpp mai
  • nginx location proxy_pass后面加不加/的区别

    以下是通过运行两个nginx测试的结果 通过查看访问日志得到 其中第一行为访问第一个nginx 172 16 78 5 时的地址 然后第一个nginx反向代理第二个nginx 172 16 30 59 分别在第一个nginx修改locati
  • Linux:shell脚本 正则表达式与AWK

    目录 一 正则表达式 1 2元字符 1 3表示次数 1 4位置锚定 1 5分组或其他 1 6扩展正则表达式 1 7grep 二 AWK awk F 编辑三 sed 1 sed简介 2 sed工作流程 3 sed命令格式 3 1打印全部内容
  • Redis学习笔记

    Redis第一天 一 NoSQL数据库介绍 NoSQL表示不仅仅是SQL 泛指非关系型数据库 NoSQL不依赖业务逻辑方式存储 而是以简单的key value模式存储 因此大大增加了数据库的扩展能力 不遵循SQL标准 不支持ACID 原子性
  • 一道创新工场面试题详解:共打了多少鱼?

    一道创新工场面试题详解 共打了多少鱼 题目 abcde五人打渔 打完睡觉 a先醒来 扔掉1条鱼 把剩下的均分成5分 拿一份走了 b再醒来 也扔掉1条 把剩下的均分成5份 拿一份走了 然后cde都按上面的方法取鱼 问他们一共打了多少条鱼 解法