zoukankan      html  css  js  c++  java
  • SQL 谜题(硬币的组合)

    问题:早在ITPUB中看过有个SQL高手,喜欢出谜题,以下是一个谜题。我试用SQL SERVER解决此问题。
    
    用1分,5分,10分,25分,50分硬币凑成一元,总共有几种组合办法?
    SELECT'1*'+rtrim(a.number)
    +'+5*'+rtrim(b.number)
    +'+10*'+rtrim(c.number)
    +'+25*'+rtrim(d.number)
    +'+50*'+rtrim(e.number)AS result
    FROM(select number from master.dbo.spt_values where type='P'and number<=100)a
    ,(select number from master.dbo.spt_values where type='P'and number<=20)b
    ,(select number from master.dbo.spt_values where type='P'and number<=10)c
    ,(select number from master.dbo.spt_values where type='P'and number<=4)d
    ,(select number from master.dbo.spt_values where type='P'and number<=2)e
    WHERE 
    1*a.number
    +5*b.number
    +10*c.number
    +25*d.number
    +50*e.number=100;

    结果:

    1*100+5*0+10*0+25*0+50*0
    1*95+5*1+10*0+25*0+50*0
    1*90+5*2+10*0+25*0+50*0
    1*85+5*3+10*0+25*0+50*0
    1*80+5*4+10*0+25*0+50*0
    1*75+5*5+10*0+25*0+50*0
    1*70+5*6+10*0+25*0+50*0
    1*65+5*7+10*0+25*0+50*0
    1*60+5*8+10*0+25*0+50*0
    1*55+5*9+10*0+25*0+50*0
    1*50+5*10+10*0+25*0+50*0
    1*45+5*11+10*0+25*0+50*0
    1*40+5*12+10*0+25*0+50*0
    1*35+5*13+10*0+25*0+50*0
    1*30+5*14+10*0+25*0+50*0
    1*25+5*15+10*0+25*0+50*0
    1*20+5*16+10*0+25*0+50*0
    1*15+5*17+10*0+25*0+50*0
    1*10+5*18+10*0+25*0+50*0
    1*5+5*19+10*0+25*0+50*0
    1*0+5*20+10*0+25*0+50*0
    1*90+5*0+10*1+25*0+50*0
    1*85+5*1+10*1+25*0+50*0
    1*80+5*2+10*1+25*0+50*0
    1*75+5*3+10*1+25*0+50*0
    1*70+5*4+10*1+25*0+50*0
    1*65+5*5+10*1+25*0+50*0
    1*60+5*6+10*1+25*0+50*0
    1*55+5*7+10*1+25*0+50*0
    1*50+5*8+10*1+25*0+50*0
    1*45+5*9+10*1+25*0+50*0
    1*40+5*10+10*1+25*0+50*0
    1*35+5*11+10*1+25*0+50*0
    1*30+5*12+10*1+25*0+50*0
    1*25+5*13+10*1+25*0+50*0
    1*20+5*14+10*1+25*0+50*0
    1*15+5*15+10*1+25*0+50*0
    1*10+5*16+10*1+25*0+50*0
    1*5+5*17+10*1+25*0+50*0
    1*0+5*18+10*1+25*0+50*0
    1*80+5*0+10*2+25*0+50*0
    1*75+5*1+10*2+25*0+50*0
    1*70+5*2+10*2+25*0+50*0
    1*65+5*3+10*2+25*0+50*0
    1*60+5*4+10*2+25*0+50*0
    1*55+5*5+10*2+25*0+50*0
    1*50+5*6+10*2+25*0+50*0
    1*45+5*7+10*2+25*0+50*0
    1*40+5*8+10*2+25*0+50*0
    1*35+5*9+10*2+25*0+50*0
    1*30+5*10+10*2+25*0+50*0
    1*25+5*11+10*2+25*0+50*0
    1*20+5*12+10*2+25*0+50*0
    1*15+5*13+10*2+25*0+50*0
    1*10+5*14+10*2+25*0+50*0
    1*5+5*15+10*2+25*0+50*0
    1*0+5*16+10*2+25*0+50*0
    1*70+5*0+10*3+25*0+50*0
    1*65+5*1+10*3+25*0+50*0
    1*60+5*2+10*3+25*0+50*0
    1*55+5*3+10*3+25*0+50*0
    1*50+5*4+10*3+25*0+50*0
    1*45+5*5+10*3+25*0+50*0
    1*40+5*6+10*3+25*0+50*0
    1*35+5*7+10*3+25*0+50*0
    1*30+5*8+10*3+25*0+50*0
    1*25+5*9+10*3+25*0+50*0
    1*20+5*10+10*3+25*0+50*0
    1*15+5*11+10*3+25*0+50*0
    1*10+5*12+10*3+25*0+50*0
    1*5+5*13+10*3+25*0+50*0
    1*0+5*14+10*3+25*0+50*0
    1*60+5*0+10*4+25*0+50*0
    1*55+5*1+10*4+25*0+50*0
    1*50+5*2+10*4+25*0+50*0
    1*45+5*3+10*4+25*0+50*0
    1*40+5*4+10*4+25*0+50*0
    1*35+5*5+10*4+25*0+50*0
    1*30+5*6+10*4+25*0+50*0
    1*25+5*7+10*4+25*0+50*0
    1*20+5*8+10*4+25*0+50*0
    1*15+5*9+10*4+25*0+50*0
    1*10+5*10+10*4+25*0+50*0
    1*5+5*11+10*4+25*0+50*0
    1*0+5*12+10*4+25*0+50*0
    1*50+5*0+10*5+25*0+50*0
    1*45+5*1+10*5+25*0+50*0
    1*40+5*2+10*5+25*0+50*0
    1*35+5*3+10*5+25*0+50*0
    1*30+5*4+10*5+25*0+50*0
    1*25+5*5+10*5+25*0+50*0
    1*20+5*6+10*5+25*0+50*0
    1*15+5*7+10*5+25*0+50*0
    1*10+5*8+10*5+25*0+50*0
    1*5+5*9+10*5+25*0+50*0
    1*0+5*10+10*5+25*0+50*0
    1*40+5*0+10*6+25*0+50*0
    1*35+5*1+10*6+25*0+50*0
    1*30+5*2+10*6+25*0+50*0
    1*25+5*3+10*6+25*0+50*0
    1*20+5*4+10*6+25*0+50*0
    1*15+5*5+10*6+25*0+50*0
    1*10+5*6+10*6+25*0+50*0
    1*5+5*7+10*6+25*0+50*0
    1*0+5*8+10*6+25*0+50*0
    1*30+5*0+10*7+25*0+50*0
    1*25+5*1+10*7+25*0+50*0
    1*20+5*2+10*7+25*0+50*0
    1*15+5*3+10*7+25*0+50*0
    1*10+5*4+10*7+25*0+50*0
    1*5+5*5+10*7+25*0+50*0
    1*0+5*6+10*7+25*0+50*0
    1*20+5*0+10*8+25*0+50*0
    1*15+5*1+10*8+25*0+50*0
    1*10+5*2+10*8+25*0+50*0
    1*5+5*3+10*8+25*0+50*0
    1*0+5*4+10*8+25*0+50*0
    1*10+5*0+10*9+25*0+50*0
    1*5+5*1+10*9+25*0+50*0
    1*0+5*2+10*9+25*0+50*0
    1*0+5*0+10*10+25*0+50*0
    1*75+5*0+10*0+25*1+50*0
    1*70+5*1+10*0+25*1+50*0
    1*65+5*2+10*0+25*1+50*0
    1*60+5*3+10*0+25*1+50*0
    1*55+5*4+10*0+25*1+50*0
    1*50+5*5+10*0+25*1+50*0
    1*45+5*6+10*0+25*1+50*0
    1*40+5*7+10*0+25*1+50*0
    1*35+5*8+10*0+25*1+50*0
    1*30+5*9+10*0+25*1+50*0
    1*25+5*10+10*0+25*1+50*0
    1*20+5*11+10*0+25*1+50*0
    1*15+5*12+10*0+25*1+50*0
    1*10+5*13+10*0+25*1+50*0
    1*5+5*14+10*0+25*1+50*0
    1*0+5*15+10*0+25*1+50*0
    1*65+5*0+10*1+25*1+50*0
    1*60+5*1+10*1+25*1+50*0
    1*55+5*2+10*1+25*1+50*0
    1*50+5*3+10*1+25*1+50*0
    1*45+5*4+10*1+25*1+50*0
    1*40+5*5+10*1+25*1+50*0
    1*35+5*6+10*1+25*1+50*0
    1*30+5*7+10*1+25*1+50*0
    1*25+5*8+10*1+25*1+50*0
    1*20+5*9+10*1+25*1+50*0
    1*15+5*10+10*1+25*1+50*0
    1*10+5*11+10*1+25*1+50*0
    1*5+5*12+10*1+25*1+50*0
    1*0+5*13+10*1+25*1+50*0
    1*55+5*0+10*2+25*1+50*0
    1*50+5*1+10*2+25*1+50*0
    1*45+5*2+10*2+25*1+50*0
    1*40+5*3+10*2+25*1+50*0
    1*35+5*4+10*2+25*1+50*0
    1*30+5*5+10*2+25*1+50*0
    1*25+5*6+10*2+25*1+50*0
    1*20+5*7+10*2+25*1+50*0
    1*15+5*8+10*2+25*1+50*0
    1*10+5*9+10*2+25*1+50*0
    1*5+5*10+10*2+25*1+50*0
    1*0+5*11+10*2+25*1+50*0
    1*45+5*0+10*3+25*1+50*0
    1*40+5*1+10*3+25*1+50*0
    1*35+5*2+10*3+25*1+50*0
    1*30+5*3+10*3+25*1+50*0
    1*25+5*4+10*3+25*1+50*0
    1*20+5*5+10*3+25*1+50*0
    1*15+5*6+10*3+25*1+50*0
    1*10+5*7+10*3+25*1+50*0
    1*5+5*8+10*3+25*1+50*0
    1*0+5*9+10*3+25*1+50*0
    1*35+5*0+10*4+25*1+50*0
    1*30+5*1+10*4+25*1+50*0
    1*25+5*2+10*4+25*1+50*0
    1*20+5*3+10*4+25*1+50*0
    1*15+5*4+10*4+25*1+50*0
    1*10+5*5+10*4+25*1+50*0
    1*5+5*6+10*4+25*1+50*0
    1*0+5*7+10*4+25*1+50*0
    1*25+5*0+10*5+25*1+50*0
    1*20+5*1+10*5+25*1+50*0
    1*15+5*2+10*5+25*1+50*0
    1*10+5*3+10*5+25*1+50*0
    1*5+5*4+10*5+25*1+50*0
    1*0+5*5+10*5+25*1+50*0
    1*15+5*0+10*6+25*1+50*0
    1*10+5*1+10*6+25*1+50*0
    1*5+5*2+10*6+25*1+50*0
    1*0+5*3+10*6+25*1+50*0
    1*5+5*0+10*7+25*1+50*0
    1*0+5*1+10*7+25*1+50*0
    1*50+5*0+10*0+25*2+50*0
    1*45+5*1+10*0+25*2+50*0
    1*40+5*2+10*0+25*2+50*0
    1*35+5*3+10*0+25*2+50*0
    1*30+5*4+10*0+25*2+50*0
    1*25+5*5+10*0+25*2+50*0
    1*20+5*6+10*0+25*2+50*0
    1*15+5*7+10*0+25*2+50*0
    1*10+5*8+10*0+25*2+50*0
    1*5+5*9+10*0+25*2+50*0
    1*0+5*10+10*0+25*2+50*0
    1*40+5*0+10*1+25*2+50*0
    1*35+5*1+10*1+25*2+50*0
    1*30+5*2+10*1+25*2+50*0
    1*25+5*3+10*1+25*2+50*0
    1*20+5*4+10*1+25*2+50*0
    1*15+5*5+10*1+25*2+50*0
    1*10+5*6+10*1+25*2+50*0
    1*5+5*7+10*1+25*2+50*0
    1*0+5*8+10*1+25*2+50*0
    1*30+5*0+10*2+25*2+50*0
    1*25+5*1+10*2+25*2+50*0
    1*20+5*2+10*2+25*2+50*0
    1*15+5*3+10*2+25*2+50*0
    1*10+5*4+10*2+25*2+50*0
    1*5+5*5+10*2+25*2+50*0
    1*0+5*6+10*2+25*2+50*0
    1*20+5*0+10*3+25*2+50*0
    1*15+5*1+10*3+25*2+50*0
    1*10+5*2+10*3+25*2+50*0
    1*5+5*3+10*3+25*2+50*0
    1*0+5*4+10*3+25*2+50*0
    1*10+5*0+10*4+25*2+50*0
    1*5+5*1+10*4+25*2+50*0
    1*0+5*2+10*4+25*2+50*0
    1*0+5*0+10*5+25*2+50*0
    1*25+5*0+10*0+25*3+50*0
    1*20+5*1+10*0+25*3+50*0
    1*15+5*2+10*0+25*3+50*0
    1*10+5*3+10*0+25*3+50*0
    1*5+5*4+10*0+25*3+50*0
    1*0+5*5+10*0+25*3+50*0
    1*15+5*0+10*1+25*3+50*0
    1*10+5*1+10*1+25*3+50*0
    1*5+5*2+10*1+25*3+50*0
    1*0+5*3+10*1+25*3+50*0
    1*5+5*0+10*2+25*3+50*0
    1*0+5*1+10*2+25*3+50*0
    1*0+5*0+10*0+25*4+50*0
    1*50+5*0+10*0+25*0+50*1
    1*45+5*1+10*0+25*0+50*1
    1*40+5*2+10*0+25*0+50*1
    1*35+5*3+10*0+25*0+50*1
    1*30+5*4+10*0+25*0+50*1
    1*25+5*5+10*0+25*0+50*1
    1*20+5*6+10*0+25*0+50*1
    1*15+5*7+10*0+25*0+50*1
    1*10+5*8+10*0+25*0+50*1
    1*5+5*9+10*0+25*0+50*1
    1*0+5*10+10*0+25*0+50*1
    1*40+5*0+10*1+25*0+50*1
    1*35+5*1+10*1+25*0+50*1
    1*30+5*2+10*1+25*0+50*1
    1*25+5*3+10*1+25*0+50*1
    1*20+5*4+10*1+25*0+50*1
    1*15+5*5+10*1+25*0+50*1
    1*10+5*6+10*1+25*0+50*1
    1*5+5*7+10*1+25*0+50*1
    1*0+5*8+10*1+25*0+50*1
    1*30+5*0+10*2+25*0+50*1
    1*25+5*1+10*2+25*0+50*1
    1*20+5*2+10*2+25*0+50*1
    1*15+5*3+10*2+25*0+50*1
    1*10+5*4+10*2+25*0+50*1
    1*5+5*5+10*2+25*0+50*1
    1*0+5*6+10*2+25*0+50*1
    1*20+5*0+10*3+25*0+50*1
    1*15+5*1+10*3+25*0+50*1
    1*10+5*2+10*3+25*0+50*1
    1*5+5*3+10*3+25*0+50*1
    1*0+5*4+10*3+25*0+50*1
    1*10+5*0+10*4+25*0+50*1
    1*5+5*1+10*4+25*0+50*1
    1*0+5*2+10*4+25*0+50*1
    1*0+5*0+10*5+25*0+50*1
    1*25+5*0+10*0+25*1+50*1
    1*20+5*1+10*0+25*1+50*1
    1*15+5*2+10*0+25*1+50*1
    1*10+5*3+10*0+25*1+50*1
    1*5+5*4+10*0+25*1+50*1
    1*0+5*5+10*0+25*1+50*1
    1*15+5*0+10*1+25*1+50*1
    1*10+5*1+10*1+25*1+50*1
    1*5+5*2+10*1+25*1+50*1
    1*0+5*3+10*1+25*1+50*1
    1*5+5*0+10*2+25*1+50*1
    1*0+5*1+10*2+25*1+50*1
    1*0+5*0+10*0+25*2+50*1
    1*0+5*0+10*0+25*0+50*2
    

      

  • 相关阅读:
    FreePascal
    Delphi
    FreePascal
    FreePascal
    Linux
    FreePascal
    FreePascal
    CodeTyphon
    IDEA
    工作流科普——don't ask i don't know either
  • 原文地址:https://www.cnblogs.com/martintuan/p/4913327.html
Copyright © 2011-2022 走看看