5根金条均分成6份

2023-11-05 16:10
文章标签 分成 金条

本文主要是介绍5根金条均分成6份,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记得以前面试的时候,遇到不少奇葩、有意思的笔试题。算法、手写代码实现网页、翻译(英译汉)、数学等等等等。

这里介绍一下我遇到的一个数学算法的题,题目是:

你只有一把小刀(工具)和5根质地均匀的金条,如何切割等分成6份,每根金条只能切一刀。

当时就懵逼了,好歹给一把尺子呀,量量就OK了。搞得我sin、cos、都用上了。后来发现用相似三角形就搞定了。上图:


思路:

1、取三根金条并排,他不给尺子,剩下的两根金条不就是尺子了吗?

2、三根金条呈现一个矩形,取对角线(如上图)

3、按照对角线切下,只切第一根金条(黑线),金条一分为二,你会发现,小块的恰好是1/6,大块的是5/6

4、重复操作,最终得到5块大份金条,5块小份金条,大份占原来的5/6,5块小份金条组合也占原来的5/6

至此,就均分成6份了,而且每根金条也只切割了一次。

这篇关于5根金条均分成6份的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/350977

相关文章

WPS宏实现一个表格拆分成多个表格的功能

把首列名称中一样的分别创建该名称+时间戳的新表格,比如有个表格存储各个省的信息,江苏的有50行数据,山西的55行数据等等,这个就是把江苏的创建一个新表保存,山西的创建一个新表格保存。里面主要是表格的创建与关闭相关知识,还有动态给表格对象赋值,实现循环操作表格的目的。 function JIn521() {          //设置工作表对象     var ws1 = ThisWorkbook

LintCode 107 给定字符串 s 和单词字典 dict,确定 s 是否可以分成一个或多个以空格分隔的子串,并且这些子串都在字典中存在。

代码一、使用递归算法,超时 class Solution {public:/** @param s: A string* @param dict: A dictionary of words dict* @return: A boolean*/bool wordBreak(string &s, unordered_set<string> &dict) {// write your code h

今天遇到的3到智力面试题(给工人分金条,小鸟来回在2火车之间飞行的距离,精确称水问题)

智力题1:你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费? 答:把金条2次弄断的方式是第一次1,6分,,然后把剩余的6用2,4分,即弄断2次为1段、2段、4段 第一天给1段, 第二天让工人把1段归还给2段, 第三天给1段, 第四天归还1段和2段,给4段。 第五天给1段, 第六天给2

比例分成算法--java

关于业绩分配,常常会出现几家公司或者几个人合作的情况,那么合作之后创造出来的业绩价值如何分配的呢?有可能是1:1或者3:7.或者是3:3:4等等。那么我们针对这种情况就设计出来了一套比例分成系统。 代码如下所示: 主代码: package com.handler.mark.cardperformance;import com.alibaba.fastjson.JSON;import com

PYTHON-把一个多sheet excel拆分成单个csv文件

师父交给的任务, 做一个脚本 把一个多sheet excel拆分成单个csv文件,csv命名为sheet名 有个注意点是 2csv中文有乱码, 改为 encoding='utf-8-sig'后修复 #!/usr/bin/python# -*- coding: utf-8 -*-import xlrdimport pandas as pdimport osdef excel2csv(ex

c# winForm 将窗体状态栏StatusStrip 分成左中右三部分

http://www.cnblogs.com/freeliver54/archive/2008/11/03/1325252.html 实现效果: 通过StatusStrip显示窗体状态栏 同时将状态栏分成三部分 居左边显示相关文字信息 中间空白显示 居右边显示时间信息 1.创建窗体及添加StatusStrip   默认StatusStrip名称为statusStrip1 2.

JS 数组对象根据下标拆分成新的数组

真为难啊!   var arr = [{guigeArr:['蓝色','XL','3','S']},{guigeArr:['蓝色','L','6','S']},{guigeArr:['蓝色','L','3','S']},{guigeArr:['蓝色','XL','6','S']},{guigeArr:['黑色','XL','3','S']},{guigeArr:['黑色',

Codeforces Round #304 (Div. 2) D. Soldier and Number Game 数学 一个数最大可分成多少质因数

惯例抄qsc,不解释了。。。https://www.cnblogs.com/qscqesze/p/4523625.html D. Soldier and Number Game Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/546/problem/D Description Two sol

力扣1712.将数组分成三个子数组的方案数

力扣1712.将数组分成三个子数组的方案数 确定左边界的值 然后二分求右边界的范围 右边界处的前缀和满足 2*s[i] <= s[r] <= (s[n] + s[i]) / 2 int s[100010];const int N = 1e9+7;class Solution {public:int waysToSplit(vector<int>& nums) {int n = n

c++如何将一块内存拆分成两块内存

欢迎关注公众号可以查看更多完整文章 内存数据的拆分,在开发中有时候也会遇到。 内存数据p,拆分为内存数据p1,内存数据p2. p的前半部分拷贝到p1,p的后半部分拷贝到p2。 可以使用memcpy来进行数据的拷贝拼接,关键是要控制好拼接的位置:内存数据p的后半部分数据从哪个位置往p2拷贝。 例子: #include <stdio.h>#include <string