永发信息网

枚举法的结构

答案:1  悬赏:10  手机版
解决时间 2021-03-21 21:32
  • 提问者网友:锁深秋
  • 2021-03-21 14:05
枚举法的结构
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-21 15:22
枚举算法的一般结构:while循环。
首先考虑一个问题:将1到100之间的所有整数转换为二进制数表示。 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.
枚举法,常常称之为穷举法,是指从可能的集合中一一枚举各个元素,用题目给定的约束条件判定哪些是无用的,哪些是有用的。能使命题成立者,即为问题的解。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯