楼主: newkid

[每日一题] puzzleup 2018

[复制链接]
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
71#
 楼主| 发表于 2018-8-27 22:03 | 只看该作者
solomon_007 发表于 2018-8-26 12:35
给个“举人”

你一下玩出了这么多写法!!

不知道为什么举人、秀才这些章不能转让。我已经给喵喵提了意见,我手里有一大堆。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
72#
 楼主| 发表于 2018-8-27 22:05 | 只看该作者
lugionline 发表于 2018-8-27 08:57
倒个100升看看,桶大小分别是 43, 59, 100, 分成 50,50

我估计SQL是跑不动,SQL写法的弊端是不能够发现一个状态已经有其他更短的路径,而写个广度优先代码就不难。

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
73#
发表于 2018-8-27 23:29 | 只看该作者
newkid 发表于 2018-8-27 22:03
不知道为什么举人、秀才这些章不能转让。我已经给喵喵提了意见,我手里有一大堆。

那随便给个车的

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
74#
 楼主| 发表于 2018-8-27 23:54 | 只看该作者
送了个奥迪!

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
75#
发表于 2018-8-28 00:33 | 只看该作者

3qu

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
76#
 楼主| 发表于 2018-8-28 00:35 | 只看该作者
挑战成功,顺便复习了一把数据结构编程:


DECLARE
   TYPE t_s IS TABLE OF VARCHAR2(4000) INDEX BY PLS_INTEGER;
   v_s t_s;
   TYPE t_n IS TABLE OF NUMBER INDEX BY PLS_INTEGER;
   c t_n;

   TYPE t_n2 IS TABLE OF t_n INDEX BY PLS_INTEGER;
   v_n t_n2;
   v_goal NUMBER := 50050;
   v_ptr NUMBER;
   v_max NUMBER;
   
   p_n NUMBER;
   m_n NUMBER;
   c_n NUMBER;
   d_n NUMBER;
   new_n NUMBER;
   lvl NUMBER;
   v_str VARCHAR2(4000);
BEGIN
  
   c(1):=43;
   c(2):=59;
   c(3):=100;

   v_s(100):='100';
   v_n(1)(1):=100;
   
   v_ptr :=1;
   v_max :=1;
   lvl :=1;
   WHILE TRUE LOOP
         c_n := v_n(lvl)(v_ptr);
         FOR p IN 1..3 LOOP
             FOR m IN 1..3 LOOP
                 IF p<>m THEN
                    p_n := MOD(TRUNC(c_n/POWER(10,(3-p)*3)),1000);
                    m_n := MOD(TRUNC(c_n/POWER(10,(3-m)*3)),1000);
                    IF p_n>0 AND m_n<c(m) THEN
                       d_n := LEAST(p_n,c(m)-m_n);
                       p_n := p_n - d_n;
                       m_n := m_n + d_n;
                       
                       new_n := (CASE 1 WHEN p THEN p_n WHEN m THEN m_n ELSE TRUNC(c_n/1000000) END)*1000000
                                + (CASE 2 WHEN p THEN p_n WHEN m THEN m_n ELSE MOD(TRUNC(c_n/1000),1000) END)*1000
                                + (CASE 3 WHEN p THEN p_n WHEN m THEN m_n ELSE MOD(c_n,1000) END);
                       IF NOT v_s.EXISTS(new_n) THEN
                          v_s(new_n):=v_s(c_n)||','||new_n;
                          IF new_n=v_goal THEN
                             v_str := v_s(new_n);
                             FOR I in 1..REGEXP_COUNT(v_str,',')+1 LOOP
                                 c_n := REGEXP_SUBSTR(v_str,'[^,]+',1,i);
                                 DBMS_OUTPUT.PUT_LINE(TRUNC(c_n/1000000)||','||MOD(TRUNC(c_n/1000),1000)||','||MOD(c_n,1000));
                             END LOOP;
                             -- DBMS_OUTPUT.PUT_LINE(v_s(new_n));
                             RETURN;
                          ELSE
                             v_n(lvl+1)(v_max):=new_n;
                             v_max := v_max +1;
                          END IF;
                       END IF;
                    END IF;
                 END IF;
                 
             END LOOP;
         END LOOP;
         IF v_ptr=v_n(lvl).COUNT THEN
            lvl := lvl+1;
            v_ptr:=1;
            v_max :=1;
         ELSE
            v_ptr := v_ptr +1;
         END IF;
   END LOOP;
EXCEPTION
   WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('no solution!');
END;
/
   
0,0,100
43,0,57
0,43,57
43,43,14
27,59,14
27,0,73
0,27,73
43,27,30
11,59,30
11,0,89
0,11,89
43,11,46
0,54,46
43,54,3
38,59,3
38,0,62
0,38,62
43,38,19
22,59,19
22,0,78
0,22,78
43,22,35
6,59,35
6,0,94
0,6,94
43,6,51
0,49,51
43,49,8
33,59,8
33,0,67
0,33,67
43,33,24
17,59,24
17,0,83
0,17,83
43,17,40
1,59,40
1,0,99
0,1,99
43,1,56
0,44,56
43,44,13
28,59,13
28,0,72
0,28,72
43,28,29
12,59,29
12,0,88
0,12,88
43,12,45
0,55,45
43,55,2
39,59,2
39,0,61
0,39,61
43,39,18
23,59,18
23,0,77
0,23,77
43,23,34
7,59,34
7,0,93
0,7,93
43,7,50
0,50,50

PL/SQL procedure successfully completed.

Elapsed: 00:00:00.03

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
77#
发表于 2018-8-28 08:47 | 只看该作者
newkid 大神干得漂亮!!

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
78#
 楼主| 发表于 2018-8-29 23:20 | 只看该作者
#5 NUMBER SELECTION

Given any X integers (not necessarily distinct), if it is always possible to select Y of them whose sum is divisible by 7, what is the minimum value of X and the corresponding value of Y?

Note: X and Y are positive integers.

If the same question were asked for divisibility by 2, the minimum value of X would be 3 and the corresponding value of Y would be 2.

Enter the minimum X, then the corresponding Y without using a space in between.   

给定任何X个整数(不一定是不同的),如果总是可以选出Y个数,使得它们的和可以被7整除,那么X的最小值和相应的Y值是多少?

注意:X和Y是正整数。

如果同样的问题要求被2整除,则X的最小值为3,相应的Y值为2。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
79#
 楼主| 发表于 2018-8-30 05:07 | 只看该作者
当 N=3 时,X=5, Y=3 ?
猜测 Y=N
X个整数经过取模之后是 0~N-1

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
80#
发表于 2018-8-30 11:12 | 只看该作者
抽屉原则,n+1个数除以n必有2个数的余数相同

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表