回 帖 发 新 帖 刷新版面

主题:大牛教教我做

1()2()3()4()6()7()8()9=R                 //填入‘+’或者‘-’

如果没答案则输出‘NO ANSWER
[em18]

回复列表 (共4个回复)

沙发

用穷举嘛,我感觉挺简单的

板凳

给出程序好吗?

3 楼

是说怎么做不出来,题目是不是错了?
1()2()3()4()6()7()8()9=R   
应该是
1()2()3()4()5( ) 6()7()8()9=R 
对不?  

4 楼

如果改了后就对了.
const d:array[1..2] of char=('+','-');
var a:array[1..8] of 1..2;
    i,t,r,c:integer;b:string;
begin
  write('input r:');
  readln(r);
  t:=1;b:='';
  for a[1]:=1 to 2 do
  for a[2]:=1 to 2 do
  for a[3]:=1 to 2 do
  for a[4]:=1 to 2 do
  for a[5]:=1 to 2 do
  for a[6]:=1 to 2 do
  for a[7]:=1 to 2 do
  for a[8]:=1 to 2 do
  begin
    for i:=1 to 8 do
      case a[i] of
        1:t:=t+(i+1);
        2:t:=t-(i+1);
      end;
    if t=r then
    begin
      write('answer:');
      for c:=1 to 8 do
        write(c,d[a[c]]);
      write('9=',r);
      readln;halt;
    end;
    t:=1;
  end;
  writeln('noanswer!');readln;
end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册