ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 17859|回复: 93

[Excel 函数与公式] [72期]哪些灯亮着?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-3-22 22:38 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
题目见附件说明。

题目不难,因此不提供模拟结果,需要自己测算。

截止 2011-4-17,之后解答不再评分。







注意:解答公式必须能体现解题思路

本题解说贴在59楼。第一次出题,难免考虑不周,欢迎大家随时指正!谢谢大家!!!

评分结果在64楼,若有错误,请及时指正!谢谢。

[ 本帖最后由 fangjianp 于 2011-4-18 12:24 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-4-10 22:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
好像有16盏灯亮吧,,
B2=TEXT(ROW(1:1)^2,"[<=256];")
下拉,
按照此规律,有N盏灯,N个人走过,则最后亮着的灯编号应该为:
=TEXT(ROW(1:N)^2,"[<=N];")


b2:b30多单元格数组公式:=TEXT(SMALL(IF(MOD(MMULT(--(MOD(ROW(1:256),COLUMN(1:1))=0),ROW(1:256)^0),2),ROW(1:256),257),ROW(1:29)),"[<=256];")

[ 本帖最后由 wenshui2006 于 2011-4-17 01:19 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-4-8 20:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

刚好108,功力不够呀,办法都想尽了,东拼西凑的.

[ 本帖最后由 天使之泪. 于 2011-4-11 12:22 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-3-23 16:12 | 显示全部楼层
占位高层,
118字符
=TEXT(SMALL(IF(MOD(MMULT(--(MOD(ROW($1:$256),COLUMN(1:1))=0),ROW($1:$256)^0),2),ROW($1:$256),257),ROW(A1)),"[<257]#;")
再精简114字符
=TEXT(SMALL(IF(MOD(MMULT(--(MOD(ROW($1:$300),COLUMN(1:1))=0),ROW($1:$256)^0),2),ROW($1:$300)),ROW(A1)),"[<257]#;")
再精简108字符
=TEXT(SMALL(MOD(MMULT(N(MOD(ROW($1:$300),COLUMN(1:1))=0),ROW(1:256)^0),2)*ROW($1:$300),ROW(A242)),"[<257];")
再来一个其它思路的:108字符;
=TEXT(SMALL(IF(MOD(FREQUENCY(ROW($1:$256)*COLUMN(1:1),ROW($1:$300)),2),ROW($1:$301),257),ROW(A1)),"[<257];")
再精简102字符
=TEXT(SMALL(MOD(FREQUENCY(ROW($1:$256)*COLUMN(1:1),ROW($1:$998)),2)*ROW($1:$999),ROW(A968)),"[<257];")
以上公式只适合于03版,如在07版或以上运行需更改COLUMN(1:1),呵呵!

[ 本帖最后由 chenhh803 于 2011-3-27 19:11 编辑 ]

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-3-23 16:53 | 显示全部楼层
=TEXT(SMALL(IF(MOD(FREQUENCY(ROW($1:$26)*COLUMN(A:Z),ROW($1:$256)),2),ROW($1:$256),257),ROW(A1)),"[>256] ")
107字符刚好达标(汗)
=TEXT(ROW(A1)^2,"[>256] ")

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-3-23 21:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. =TEXT(SMALL(IF(MMULT(-(ROW($1:$256)^0.5=COLUMN(1:1)),ROW(1:256)^0),ROW($1:$256),999),ROW(A1)),"[>256]G")
复制代码
长度104
  1. =TEXT(SMALL(IF(ROW($1:$29)^2<=256,ROW($1:$29)^2,999),ROW(A1)),"[>256]G")
复制代码
长度72
按奇数次灯开,偶数次灯不亮,同时根据题目可以知道灯号能被人的编号整除时才会按到开关,这样就转化为求1~256之间的各整数可以被多少个数整除,由于一个合数分解的时候是前后对应的,这样要求有奇数个数可以整除,就表明要求该数是一个完全平方数,根据这点写了以上2个公式,公式1通过开方数获取符合的灯号,公式2反一下,通过平方数。下图以256(最后灯亮),200(最后灯不亮)


[ 本帖最后由 Zaezhong 于 2011-3-29 18:26 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2011-3-23 23:42 | 显示全部楼层
公式长度:109
=TEXT(SMALL(IF(MOD(MMULT(N(MOD(ROW(1:256),COLUMN(1:1))=0),ROW(1:256)^0),2),ROW(1:256),4^8),ROW()-1),"[<257]")多单元数组公式。
公式长度:107
=TEXT(SMALL(999*MOD(315,MMULT(N(MOD(ROW(1:256),COLUMN(1:1))=0),ROW(1:256)^0))+ROW(1:256),ROW()-1),"[<257]")多单元数组公式。
公式长度:28
=TEXT(ROW(1:256)^2,"[<257]")多单元数组公式。

[ 本帖最后由 草民1982111 于 2011-3-26 10:21 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-3-24 01:12 | 显示全部楼层

回复 1楼 fangjianp 的帖子

正如你说的,问题确实不难,分析你提出的问题,实际上就是正整数分解因数的问题,比如4号灯,由1、2、4号人来按,12号灯,由1、2、3、4、6、12号号人来按。12包含的因数就是1、12、2、6、3、4这6个数,即12=1*12=2*6=3*4,而4=1*4=2*2……一个整数的因数是成对出现的。在你提出的这个问题中,12号灯的情况是1开2关3开4关6开12关,偶数个人的操作结果是关。只有象4号灯是1开2关4开,奇数个人操作是开。这样只有平方数才有成对相等的因数(4=2*2)。因此你的问题的解答公式是:
B2:B30
=IF(ROW(1:29)>256^0.5,"",ROW(1:29)^2)
多单元格数组公式。

下拉公式是:
B2
=IF(ROW()-1>256^0.5,"",(ROW()-1)^2)

一般的解法稍后再发。

再发一个没有容错得多单元格数组公式,供交流分享用:
=SMALL(IF(MOD(MMULT(IF(MOD(ROW(1:256),TRANSPOSE(ROW(1:256))),0,1),ROW(1:256)^0),2),ROW(1:256)),ROW(1:29))

加上容错:
=IF(ROW()-1>256^0.5,"",SMALL(IF(MOD(MMULT(N(MOD(ROW(1:256),COLUMN(1:1))=0),ROW(1:256)^0),2),ROW(1:256)),ROW(1:29)))
(字符数已超,需换思路再考虑)


112字符的:
=TEXT(SMALL(IF(MOD(MMULT(N(MOD(ROW(1:256),COLUMN(1:1))=0),ROW(1:256)^0),2),ROW(1:256),300),ROW(1:29)),"[=300] ")

[ 本帖最后由 lhx120824 于 2011-4-1 15:48 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2011-3-24 08:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
=TEXT(SMALL(IF(MOD(ROW($1:$256)^0.5,1),9^9,ROW($1:$256)),ROW()-1),"[<=256];")
数组
奇人数通过灯肯定是亮的,偶人数通过灯就是灭的。
那么一个数的约数个数就决定了灯得亮灭。
一般约数都是成双出现的,如6的约数1和6,2和3。只有平方数的约数是奇数个,如9的约数是1和9,3和3(重复)
所以题目结果实际就是找平方数。

楼主要求把思路写进公式,还真不知道怎么写。
至于公式满不满足题目要求无所谓,我只是参与下

[ 本帖最后由 半半瓶醋 于 2011-3-28 17:07 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-3-24 02:29 | 显示全部楼层
您好!
又来打扰您了。今天突然想到一个方法,重新做了调整。
思路仍然是原思路,但此次用的是乘法关系,并利用到了Frequency函数。逻辑上应该没有问题。
一种解法:
=TEXT(SMALL(-ROW(1:257)*MOD(FREQUENCY(ROW(1:16)*COLUMN(A:P),ROW(1:256)),2),ROW(A:A)),";0")
另一种解法:
=TEXT(SMALL((MOD(MMULT(N(MOD(ROW(1:256),COLUMN(A:IV))=0),ROW(1:256)^0),2)=1)*-ROW(1:256),ROW(1:256)),";0")

[ 本帖最后由 angellbxsc 于 2011-4-13 18:53 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 06:39 , Processed in 0.048409 second(s), 20 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表