原贴地址:http://topic.csdn.net/u/20100414/13/01a10c02-8230-4f0b-89d1-e0a51a64a97c.html?seed=1728387417
123456789
这九个按顺序排列的数,要求在它们之间插入若干个+,-,*,/ ,
使其结果正好等于如:1*2*3*4+5+6+7*8+9=100
---------------------------------------------------------------------
-- Author : htl258(Tony)
-- Date : 2010-04-19 01:05:31
-- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
---------------------------------------------------------------------
--游标法
SET NOCOUNT ON
DECLARE @T TABLE(R NVARCHAR(1))
INSERT @T SELECT '+'
UNION ALL SELECT '-'
UNION ALL SELECT '*'
UNION ALL SELECT '/'
DECLARE @S NVARCHAR(50),@I DEC(28,10)
DECLARE @R TABLE(RESULT NVARCHAR(30))
DECLARE C CURSOR FOR
SELECT 'SELECT @I=1.'+A.R+'2.'+B.R+'3.'+C.R+'4.'
+D.R+'5.'+E.R+'6.'+F.R+'7.'+G.R+'8.'+H.R+'9.'
FROM @T A,@T B,@T C,@T D,@T E,@T F,@T G