有100个人排行成一列,编号依次为1,2,3,...,100。每次请队伍中位置为奇数的人,求最后剩下的那个人的编号。
将此问题用matlab编程实现求解:
clear;
clc;
x=1:1:100;%最初的编号
n=length(x);
while n>3
n=length(x);
a=1:2:n;%每次应该排除的奇数序号
x(a)=[];%删除奇数序号的元素
end
程序运行后,x中的元素仅剩64。
有100个人排行成一列,编号依次为1,2,3,...,100。每次请队伍中位置为奇数的人,求最后剩下的那个人的编号。
将此问题用matlab编程实现求解:
clear;
clc;
x=1:1:100;%最初的编号
n=length(x);
while n>3
n=length(x);
a=1:2:n;%每次应该排除的奇数序号
x(a)=[];%删除奇数序号的元素
end
程序运行后,x中的元素仅剩64。