日期:2014-05-20  浏览次数:20432 次

一个简单算法
有1至9,9个不同的数字,组成三个三位数,要求第二个三位数是第一个三位数的两倍,第三个三位数是第一个三位数的三倍,请列出三个三位数是多少?
怎么样算啊?

------解决方案--------------------
用sql 玩了下,你看看对不:

create table #t( name varchar(3))
declare @i int
set @i =111
while @i <=999
begin
insert into #t values(Convert(varchar(3),@i))
set @i=@i+1
end
--删除有重复的数
delete from #t where(substring(name,1,1) = substring(name,2,1) or substring(name,1,1) =substring(name,3,1))
delete from #T where name like '%0% ' --删除带0的数

select convert(int ,name),convert(int ,name) *2,convert(int ,name) *3 from #t
where convert(int ,name) *2 in (select * from #t)
and
convert(int ,name) *3 in (select * from #t)
order by name

or (substring(name,2,1) = substring(name,3,1))
------解决方案--------------------
int num[3];
for(int i=1098;i> =600;i-=6)
{
num[0] = i/6;
num[1] = num[0] * 2;
num[2] = num[0] * 3;
//判断,这样应该可以吧
}