求个递归函数

liujuns 2009-08-07 08:59:54
加精
求个函数 2的多少次方

例如
8 =2*2*2

如果输入 8
结果是 8

如果输入 7(2*2+2*1+2*0)
结果是
4
2
1
如果输入 16
结果是 16

如果输入 15
结果是 8
4
2
1

如果输入 10
结果是 8
2

...全文
1766 99 打赏 收藏 转发到动态 举报
写回复
用AI写文章
99 条回复
切换为时间正序
请发表友善的回复…
发表回复
puzhichen 2009-08-20
  • 打赏
  • 举报
回复
牛人还是比较多的!
中国风 2009-08-12
  • 打赏
  • 举报
回复
用CTE寫一個,貌似看到樓主在其它社區提同一問題


f object_id('fn_Num') is not null
drop function fn_Num
go
create function fn_Num(@Num int)
returns Table
as
return
(
with C1 as
(
select Power(2,0) as Num,ID=0,Num2=@Num&Power(2,0)
union all
select Power(2,ID+1) as Num,ID+1,@Num&Power(2,ID+1) from C1 where Power(2,ID+1)<=@Num
)
select Num2 from C1 where Num2>0
)
AR_X 2009-08-12
  • 打赏
  • 举报
回复
学习中
shenlanerhao 2009-08-12
  • 打赏
  • 举报
回复
NARK
传说中的堕落 2009-08-11
  • 打赏
  • 举报
回复
转成2进制,取非零位的值 不行吗?
poppybrave 2009-08-11
  • 打赏
  • 举报
回复
学习。
bigpretty 2009-08-11
  • 打赏
  • 举报
回复
学习,不是很明白
meceky 2009-08-11
  • 打赏
  • 举报
回复
哈哈。。学习了。。
west_point 2009-08-11
  • 打赏
  • 举报
回复
学习了,,
晒月光的青蛙 2009-08-10
  • 打赏
  • 举报
回复
xuexi
lxj1234567 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 50 楼 clarck_913 的回复:]
这个貌似不用递归啊~

我用Java做的

Java codepackage test;import java.util.ArrayList;import java.util.List;publicclass Test {/**
*@param args*/publicstaticvoid main(String[] args) {// TODO Auto-generated method stub function(15);
}publicstaticvoid function(int i){
List list=new ArrayList();int j=1;while(j<= i){int k= i& j;
list.add(k);
j= j<<1;
}for(int index= list.size()-1; index>=0; index--){
System.out.print(Integer.parseInt(list.get(index).toString())==0?"":list.get(index));
}

}
}
[/Quote]
这个不错。
livecai 2009-08-10
  • 打赏
  • 举报
回复
是SQL的啊,,汗
lxj1234567 2009-08-10
  • 打赏
  • 举报
回复
ding .
livecai 2009-08-10
  • 打赏
  • 举报
回复
static void GetTwo(int num)
{
int max = 1;
if (num != 0)
{
while (max*2 <= num)
{
max = max * 2;
}
GetTwo(num - max);
Console.WriteLine(max);
}
}
skyctr 2009-08-10
  • 打赏
  • 举报
回复
JF
  • 打赏
  • 举报
回复
我是来学习的
zhanghua_1228 2009-08-10
  • 打赏
  • 举报
回复
晕,这题不就是十进制转二进制
lz393760346 2009-08-10
  • 打赏
  • 举报
回复
半懂不懂
a3345372 2009-08-10
  • 打赏
  • 举报
回复
看看
happy_erdong 2009-08-10
  • 打赏
  • 举报
回复
怎么没看懂什么意思呢,,汗~@
加载更多回复(79)

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧