>百科大全> 列表
一个枚举对象对应几种循环结构
时间:2025-04-15 17:17:45
答案

枚举算法的一般结构:while 循环。

首先考虑一个问题:将之间的所有整数转换为 二进制数表示。

算法一

for i:=1 to 100 do begin

将i转换为 二进制,采用不断除以2,余数即为转换为2进制以后的结果。一直除商为0为止。

end;

算法二

二进制加法,此时需要数组来帮忙。

program p;

var a:array[1..100] of integer; {用于保存转换后的二进制结果}

i,j,k:integer;

begin

fillchar(a,sizeof(a),0); {100个数组元素全部初始化为0}

for i:=1 to 100 do begin

k:=100;

while a[k]=1 do dec(k); {找高位第一个为0的位置}

a[k]:=1; {找到了立刻赋值为1}

for j:=k+1 to 100 do a[j]:=0; {它后面的低位全部赋值为0}

k:=1;

while a[k]=0 do inc(k); {从最高位开始找不为0的位置}

write('(',i,')2=');

for j:=k to 100 do write(a[j]); {输出转换以后的结果}

writeln;

end;

end.

枚举法,常常称之为 穷举法,是指从可能的集合中一一枚举各个元素,用题目给定的约束条件判定哪些是无用的,哪些是有用的。能使命题成立者,即为问题的解。

推荐
Copyright © 2025 回合百科网 |  琼ICP备2022020623号 |  网站地图