谁能写出它的通项?

cathy0505 2003-09-28 05:07:59
有一个数列:1/2,1/4,3/4,1/8,3/8,5/8,7/8,1/16,3/16,5/16,7/16,9/16,11/16,13/16,15/16,1/32,3/32……
请写出它的通项
...全文
31 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
cafeeee 2003-10-03
  • 打赏
  • 举报
回复
我也问一个:
a[0]=sqrt(2)
a[n+1]=sqrt(2+a[n])

它的通项是什么?
zzwu 2003-10-02
  • 打赏
  • 举报
回复
也就是把[0,1]区间不断进行2-分割(也就是插入中点)的过程.
heartup 2003-10-02
  • 打赏
  • 举报
回复
zzwu(未名) 一语道破真谛,:)
ohsmile 2003-10-01
  • 打赏
  • 举报
回复
此程序用于显示该序列

package tongxiang;
import java.lang.Math.*;


public class TongXiang
{

public TongXiang()
{
int team = 1,n = 1;//team 根据分母的不同分组,n使数据向前推进
double value = 0; // 序列中的数据值

while (true)
{
value = (2 * n - 1)/Math.pow(2,team);

if (value > 1)
{

if (team == 5) //通过设置team的值可以控制显示长度
break;

n = 1;
team++;
value = 0;

continue;
}

System.out.println((2 * n - 1) + "/" + (int)(Math.pow(2,team)));
n++;
}
}
public static void main(String[] args)
{
TongXiang tongXiang1 = new TongXiang();
}
}
laughcry2002 2003-09-29
  • 打赏
  • 举报
回复
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@ 一个估计会令你喷血而死的大难题 @@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@
据说是 <<< 难倒华罗庚 !!! 急死陈景润 >>> 的难题,跟这个很类似
@
@ 估计这个论坛里没有人能解答上来,
@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


数据前30项如下:

82, 9, 53, 84, 64, 44, 28, 27, 34, 13, 72, 48, 91, 1, 13, 33, 9, 31, 62, 89, 98, 86, 19, 5, 84, 0, 77, 73, 22, 10, ...
Anders911 2003-09-28
  • 打赏
  • 举报
回复
CRAZY
SimonSui 2003-09-28
  • 打赏
  • 举报
回复
结论:
(2^(int(lgn/lg2)+1))/(n*2+1-2^(int(lgn/lg2)+1))

SimonSui 2003-09-28
  • 打赏
  • 举报
回复
分子:n*2+1-2^(int(lgn/lg2)+1)
heartup 2003-09-28
  • 打赏
  • 举报
回复
好厉害呀,这都能看得出来?
哈哈 :)
SimonSui 2003-09-28
  • 打赏
  • 举报
回复
再次修改:2^(int(lgn/lg2)+1)
SimonSui 2003-09-28
  • 打赏
  • 举报
回复
不好意思写错了,是int(lgn/lg2)+1
SimonSui 2003-09-28
  • 打赏
  • 举报
回复
分母是int(lg2/lgn)+1
分子思考ing...
短歌如风 2003-09-28
  • 打赏
  • 举报
回复
写成代码就是(Pascal):

program Project1;

{$APPTYPE CONSOLE}

procedure Next(var M, N: Integer);
begin
if M > N - 2 then
begin
M := 1;
N := N * 2;
end
else
begin
M := M + 2;
end;
end;
var
M: Integer = 1;
N: Integer = 2;
I: Integer;
begin
for I := 1 to 100 do
begin
WriteLn(M, '/', N);
Next(M, N);
end;
ReadLn;
end.
短歌如风 2003-09-28
  • 打赏
  • 举报
回复

1: n = 1 or M(n - 1) > N(n - 1) - 2;
M(n) = {
M(n - 1) + 2

2: n = 1;
N(n) = { N(n-1) *2: M(n - 1) > N(n - 1) - 2;
N(n-1)

F(n) = M(n)/N(n);
短歌如风 2003-09-28
  • 打赏
  • 举报
回复
1: n = 1 or M(n - 1) > N(n - 1) - 2;
M(n) = {
M(n - 1) + 2

2: n = 1;
N(n) = { N(n-1) *2: M(n - 1) > N(n - 1) - 2;
N(n-1)

F(n) = M(n)/N(n);
HUNTON 2003-09-28
  • 打赏
  • 举报
回复
这个就是所有小于1的小数的排列吧,用二进制表示的

33,006

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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