lhddy123 发表于 2011-12-13 21:42

有什么要求呢?

silalo 发表于 2011-12-14 00:04

很简单的问题,看最外一层的数,看排列顺序,接着相n-1的看,直至。。。

豪蛋 发表于 2011-12-14 21:19

clear;
clc;
n=input('请输入2的n次方的n值:');
x=input('请输入要查询的数字:');
a=;
for i=2:n
    b=a;
    for k=1:2:2^i-1
        a(k)=b((k+1)/2);
    end
    for k=2:2:2^i
        a(k)=1+2^(i-1)+k/2-1;
    end
end
m=find(a==x);
disp(sprintf('%d前面的数是:%d',x,a(m-1)));
disp(sprintf('%d后面的数是:%d',x,a(m+1)));
页: 1 [2]
查看完整版本: 一个有趣的数字绕圈问题