Архив задач

2016 [11] Восстановление кода

При копировании исходного кода программы произошла ошибка. Помогите определить, какие символы могут быть на месте ▲ и ▼, чтобы функция function() всегда корректно выполнялась, и в результате ее выполнения на экран выводилось слово «Yes».

Листинг программы приведен ниже.


Паскаль

Си

procedure func();

var i,size:integer;

r:array [0..ord('-')-

ord(▲)] of char;

begin

i:=ord('M')–ord('"');

for i:=ord('#') – ord('#') to ord('&')-ord(▼) do

r[i]:=chr((ord('0')- ord('(')) * 

(ord('1')-ord(')'))- ord(#9) - (ord('?')-

ord('=')) * i);

r[i]:=chr(ord('!') – ord('!'));

if ((ord(r[ord('-')-ord('*')]) + ord(r[ord('-')-ord('+')]) * 

(ord('2')-ord('('))+ ord(r[ord(')')-

ord('(')]) * (ord('2')-ord('('))* 
(ord('2')-ord('('))+ord(r[0]) *

(ord('2')-ord('('))* (ord('2')-ord('('))* 
(ord('2')-ord('('))) = 60859) 
then

writeln('Yes')

else

writeln('No');

end;

void function()

{

int i = 'M' - '"';

char r['-'-▲];

for (i='#'-'#'; i<('&'-▼); i++)

{

*(r+i)=(char)(('0'-'(')*('1'-')') 

 -'\t'-(('?'-'=')*i));

}

*(r+i)='!'-'!';


if ((*(r+('-'-'*')) +('-'-'+')[r] *

('2'-'(')+(')'-'(')[r]*(('2'-'(')) * (('2'-'(')) + 

*(r)*('2'-'(') * ('2'-'(') * ('2'-'(')) == 60859)

{

printf("Yes\n");

}

else

{

printf("No\n");

}

return;

}