Let + , ∗ , and − be operations of addition, multiplication, and subtraction of integers, respectively.
I ∗ N E E D − M Y + M A I L = S O O N
In the cryptogram shown above each letter represents a digit. Let a 1 be the maximum value for S O O N , b 1 be the minimum value for S O O N and n 1 be all possible values of I ∗ N E E D − M Y + M A I L = S O O N and m 1 = a 1 − b 1 + n 1 .
I ∗ W A N T − M Y + M A I L = S O O N
In the second cryptogram shown above each letter represents a digit. Let a 2 be the maximum value for S O O N , b 2 be the minimum value for S O O N and n 2 be all possible values of I ∗ W A N T − M Y + M A I L = S O O N and m 2 = a 2 − b 2 + n 2 .
S O O N + I ∗ W A N T − M Y = M A I L
In the third cryptogram shown above each letter represents a digit. Let a 3 be the maximum value for M A I L , b 3 be the minimum value for M A I L and n 3 be all possible values of S O O N + I ∗ W A N T − M Y = M A I L and m 3 = a 3 − b 3 + n 3 .
T H I S − I S ∗ F U N + T O = D O
In the fourth cryptogram shown above each letter represents a digit. Let a 4 be the maximum value for D O , b 4 be the minimum value for D O and n 4 be all possible values of T H I S − I S ∗ F U N + T O = D O and m 4 = a 4 − b 4 + n 4 .
Find: m 1 + m 2 + m 3 + m 4 .
Note: You can create a program (in any language) to find m 1 , m 2 , m 3 , and m 4 , but the program should not contain any predefined functions or procedures. That is you must create all functions and procedures and they should appear in the program, and not called from a library you created. For example, you could create your own maximum and minimum function for an array of integers and your own power function.
I wrote a program A that when executed gets the input and writes a program B to solve cryptograms to a text file, then I saved the text file using a different extension, complied it and ran program B .
So, for the first cryptogram you would just need to run program A and save the text file (using a different extension) containing program B 1 and execute it, then run program A again and save the text file(using a different extension) containing program B 2 and execute it, then run program A again and save the text file(using a different extension) containing program B 3 and execute it, then run program A again and save the text file(using a different extension) containing program B 4 and execute it. .
I chose four cryptograms so that program A can generate all four cryptograms as stated above. Writing four separate programs for each cryptogram would be tedious and that was not my intention. Essential, you just need to write program A .
Assume I chose N cryptograms. Write program A to generate all N cryptograms as stated above.
This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try
refreshing the page, (b) enabling javascript if it is disabled on your browser and,
finally, (c)
loading the
non-javascript version of this page
. We're sorry about the hassle.
Problem Loading...
Note Loading...
Set Loading...
I used Free Pascal to construct the program:
Program A :
program for_brillant;
uses mathunit;
type arraytype = array[1 .. 1000] of longint;
var myfile:text;
procedure getinput;
var j:longint;
begin
writeln('Enter string of characters including +, *, -, and =, but no spaces');
read(s);
n:= length(s);
writeln;
writeln('Enter number of words');
readln(numwords);
writeln;
writeln('Enter length of each word');
for j:= 1 to numwords do
begin
read(sizeword[j]);
end;
end;
procedure eliminate;
type darraytype = array[1 .. 300,1 .. 300] of char;
var j,k:longint;
begin
count:= 0;
for j:= 1 to n do
begin
if (s[j] = '*') or (s[j] = '+') or (s[j] = '-') then
begin
count:= count + 1;
symbol[count]:= s[j];
end;
end;
counter:= 0;
for j:= 1 to n - 1 do
begin
notequal:= true;
for k:= j + 1 to n do
begin
if (s[j] = s[k]) then
notequal:= false;
end;
if notequal and (s[j] <> '+') and (s[j] <> '*') and (s[j] <> '=') and (s[j] <> '-') then
begin
counter:= counter + 1;
w[counter]:= s[j];
end;
end;
total:= counter + 1;
w[total]:= s[n];
z[1]:= s[1];
counter:= 1;
for j:= 1 to n do
begin
if (s[j] = '+') or (s[j] = '=') or (s[j] = '*') or (s[j] = '-') then
begin
counter:= counter + 1;
z[counter]:= s[j + 1];
end;
end;
counter2:= 0;
for j:= 1 to counter - 1 do
begin
notequal:= true;
for k:= j + 1 to counter do
begin
if (z[j] = z[k]) then
notequal:= false;
end;
if notequal then
begin
counter2:= counter2 + 1;
y[counter2]:= z[j];
end;
end;
total2:= counter2 + 1;
y[total2]:= z[counter];
counter:= 0;
counter2:= 0;
for j:= 1 to total do
begin
notequal:= true;
for k:= 1 to total2 do
begin
if w[j] = y[k] then
begin
notequal:= false;
counter:= counter + 1;
x[counter]:= w[j];
end;
end;
if notequal then
begin
counter2:= counter2 + 1;
z[counter2]:= w[j];
end;
end;
assign(myfile, 'myfile6.txt');
rewrite(myfile);
writeln(myfile,'program for brillant 3;');
writeln(myfile,'type arraytype = array[1 .. 5000] of longint;');
writeln(myfile,'var z1:arraytype;');
writeln(myfile);
writeln(myfile);
writeln(myfile,'function LINTpower(base,exponent:longint):longint;');
writeln(myfile,'var n,product:longint;');
writeln(myfile);
writeln(myfile,'begin');
writeln(myfile,'for n:= 1 to exponent do');
writeln(myfile,'begin');
writeln(myfile,'end;');
writeln(myfile,'end;');
writeln(myfile);
writeln(myfile);
writeln(myfile, 'function minnum(a:arraytype; last:longint):longint;');
writeln(myfile,'var j,n:longint;');
writeln(myfile);
writeln(myfile,'begin');
writeln(myfile,'end;');
writeln(myfile,'function maxnum(a:arraytype; last:longint):longint;');
writeln(myfile,'var j,n:longint;');
writeln(myfile,'begin');
writeln(myfile,'end;');
writeln(myfile,'procedure getsum; ');
writeln(myfile);
write(myfile,'var ');
for j:= 1 to counter do
begin
write(myfile,x[j],',');
end;
for j:= 1 to counter2 do
begin
if j < counter2 then
write(myfile, z[j],',')
else
write(myfile, z[j]);
end;
write(myfile,':longint;');
writeln(myfile);
write(myfile,' bool:boolean;');
writeln(myfile);
write(myfile,' j1:longint;');
writeln(myfile);
write(myfile,' a1,a2,a3,answer:longint; ');
writeln(myfile, 'sum:arraytype;');
writeln(myfile);
writeln(myfile);
writeln(myfile,'begin');
writeln(myfile);
writeln(myfile,'bool:= false;');
writeln(myfile,'j1:= 1;');
for j:= 1 to counter do
begin
writeln(myfile,'for ', x[j],':= 1 to 9 do ');
writeln(myfile,'begin')
end;
for j:= 1 to counter2 do
begin
writeln(myfile,'for ', z[j],':= 0 to 9 do ' );
writeln(myfile,'begin');
end;
for j:= 1 to counter do
begin
p[j]:= x[j];
end;
for j:= 1 to counter2 do
begin
p[j + counter]:= z[j];
end;
newtotal:= counter + counter2;
write(myfile,' if ');
for j:= 1 to newtotal - 1 do
begin
for k:= j + 1 to newtotal do
begin
if k mod 5 = 0 then
write(myfile);
writeln(myfile);
if j < newtotal - 1 then
write(myfile, '(',p[j], ' <> ', p[k],') and ')
else
write(myfile, '(',p[j], ' <> ', p[k],')');
end;
end;
write(myfile, ' then');
writeln(myfile);
writeln(myfile, 'begin' );
assign(hold,'hold.txt');
rewrite(hold);
for j:= 1 to n do
begin
if (s[j] <> '+') and (s[j] <> '*') and (s[j] <> '=') and (s[j] <> '-') then
begin
write(hold,s[j]);
end;
end;
reset(hold);
for j:= 1 to numwords do
begin
for k:= 1 to sizeword[j] do
begin
read(hold,v[k,j]);
end;
end;
sum[1]:= '';
for j:= 1 to numwords do
begin
if j <= numwords - 1 then
write(myfile,'z1[',j,']:= ')
else
write(myfile,'sum[j1]:= ');
for k:= 1 to sizeword[j] do
begin
str(sizeword[j] - k,e);
if k < sizeword[j] then
sum[j]:= sum[j] + ' ' + v[k,j] + ' * lintpower(10,' + e + ') + '
else
sum[j]:= sum[j] + ' ' + v[k,j] + ' * lintpower(10,' + e + ')';
end;
write(myfile,sum[j],';');
writeln(myfile);
end;
{put condition and equation here} count:= 0;
write(myfile,' if ');
a:= '';
for k:= 1 to numwords do
begin
if k <= numwords - 2 then
begin
str(k,b);
count:= count + 1;
a:= a + 'z1[' + b + ']' + symbol[count];
end
else
begin
str(numwords - 1,c);
b:= 'z1[' + c + ']';
end;
f:= 'sum[j1]';
end;
write(myfile, a + b, ' = ', f);
write(myfile,' then ');
writeln(myfile,'begin');
writeln(myfile,'bool:= true;');
writeln(myfile,'j1:= j1 + 1;');
writeln(myfile,'end;');
writeln(myfile,'end;');
close(hold);
writeln(myfile);
for j:= 1 to newtotal do
begin
writeln(myfile, 'end;');
end;
writeln(myfile);
writeln(myfile,'if bool then');
writeln(myfile,'begin');
writeln(myfile,'a3:= j1 - 1;');
writeln(myfile);
writeln(myfile,'a2:= maxnum(sum,a3);');
writeln(myfile,'a1:= minnum(sum,a3);');
writeln(myfile,'writeln(''max = '', a2);');
writeln(myfile,'writeln(''min = '', a1);');
writeln(myfile,'writeln(''n = '', a3);');
writeln(myfile,'answer:= a2 - a1 + a3;');
writeln(myfile,'writeln(''answer = '', answer);');
writeln(myfile,'end;');
writeln(myfile);
writeln(myfile,' end; ');
writeln(myfile);
writeln(myfile);
writeln(myfile,'begin');
writeln(myfile,'getsum;');
writeln(myfile,'readln;');
writeln(myfile,'end.');
close(myfile);
end;
begin
getinput;
eliminate;
readln;
end.
Now run program A and enter the data for the first cryptogram. Program A has now written program B 1 to the textfile "myfile6.txt".
For program B 1 :
Go to text file "myfile6.txt" and save it with a different extension( I saved it using cryptogram_several operators11.pas).
Program cryptogram_several operators11.pas is:
program for brillant 3;
type arraytype = array[1 .. 5000] of longint;
var z1:arraytype;
function LINTpower(base,exponent:longint):longint;
var n,product:longint;
begin product:= 1;
for n:= 1 to exponent do
begin
product:= base * product;
end;
LINTpower:= product;
end;
function minnum(a:arraytype; last:longint):longint;
var j,n:longint;
small:longint;
begin
small:= a[1];
for j:= 2 to last do
begin
if a[j] < small then
small:= a[j];
end;
minnum:= small;
end;
function maxnum(a:arraytype; last:longint):longint;
var j,n:longint;
large:longint;
begin
large:= a[1];
for j:= 2 to last do
begin
if a[j] > large then
large:= a[j];
end;
maxnum:= large;
end;
procedure getsum;
var m,i,s,n,e,d,y,a,l,o:longint;
bool:boolean;
j1:longint;
a1,a2,a3,answer:longint; sum:arraytype;
begin
bool:= false;
j1:= 1;
for m:= 1 to 9 do
begin
for i:= 1 to 9 do
begin
for s:= 1 to 9 do
begin
for n:= 1 to 9 do
begin
for e:= 0 to 9 do
begin
for d:= 0 to 9 do
begin
for y:= 0 to 9 do
begin
for a:= 0 to 9 do
begin
for l:= 0 to 9 do
begin
for o:= 0 to 9 do
begin
if
(m <> i) and
(m <> s) and
(m <> n) and
(m <> e) and
(m <> d) and
(m <> y) and
(m <> a) and
(m <> l) and
(m <> o) and
(i <> s) and
(i <> n) and
(i <> e) and
(i <> d) and
(i <> y) and
(i <> a) and
(i <> l) and
(i <> o) and
(s <> n) and
(s <> e) and
(s <> d) and
(s <> y) and
(s <> a) and
(s <> l) and
(s <> o) and
(n <> e) and
(n <> d) and
(n <> y) and
(n <> a) and
(n <> l) and
(n <> o) and
(e <> d) and
(e <> y) and
(e <> a) and
(e <> l) and
(e <> o) and
(d <> y) and
(d <> a) and
(d <> l) and
(d <> o) and
(y <> a) and
(y <> l) and
(y <> o) and
(a <> l) and
(a <> o) and
(l <> o) then
begin
z1[1]:= i * lintpower(10,0);
z1[2]:= n * lintpower(10,3) + e * lintpower(10,2) + e * lintpower(10,1) + d * lintpower(10,0);
z1[3]:= m * lintpower(10,1) + y * lintpower(10,0);
z1[4]:= m * lintpower(10,3) + a * lintpower(10,2) + i * lintpower(10,1) + l * lintpower(10,0);
sum[j1]:= s * lintpower(10,3) + o * lintpower(10,2) + o * lintpower(10,1) + n * lintpower(10,0);
if z1[1]*z1[2]-z1[3]+z1[4] = sum[j1] then begin
bool:= true;
j1:= j1 + 1;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
if bool then
begin
a3:= j1 - 1;
a2:= maxnum(sum,a3);
a1:= minnum(sum,a3);
writeln('max = ', a2);
writeln('min = ', a1);
writeln('n = ', a3);
answer:= a2 - a1 + a3;
writeln('answer = ', answer);
end;
end;
begin
getsum;
readln;
end.
Running cryptogram several operators11.pas we obtain:
a 1 = 9 8 8 1 , b 1 = 5 8 8 1 , n 1 = 2 4 ⟹ m 1 = 4 0 2 4 .
Now run program A and enter the data for the second cryptogram. Program A has now written program B 2 to the textfile "myfile6.txt".
For program B 2 :
Go to text file "myfile6.txt" and save it with a different extension( I saved it using using cryptogram_several operators21.pas).
Program cryptogram_several operators21.pas is:
program for brillant 3;
type arraytype = array[1 .. 5000] of longint;
var z1:arraytype;
function LINTpower(base,exponent:longint):longint;
var n,product:longint;
begin
product:= 1;
for n:= 1 to exponent do
begin
product:= base * product;
end;
LINTpower:= product;
end;
function minnum(a:arraytype; last:longint):longint;
var j,n:longint;
small:longint;
begin
small:= a[1];
for j:= 2 to last do
begin
if a[j] < small then
small:= a[j];
end;
minnum:= small;
end;
function maxnum(a:arraytype; last:longint):longint;
var j,n:longint;
large:longint;
begin
large:= a[1];
for j:= 2 to last do
begin
if a[j] > large then
large:= a[j];
end;
maxnum:= large;
end;
procedure getsum;
var w,m,i,s,t,y,a,l,o,n:longint;
bool:boolean;
j1:longint;
a1,a2,a3,answer:longint; sum:arraytype;
begin
bool:= false;
j1:= 1;
for w:= 1 to 9 do
begin
for m:= 1 to 9 do
begin
for i:= 1 to 9 do
begin
for s:= 1 to 9 do
begin
for t:= 0 to 9 do
begin
for y:= 0 to 9 do
begin
for a:= 0 to 9 do
begin
for l:= 0 to 9 do
begin
for o:= 0 to 9 do
begin
for n:= 0 to 9 do
begin
if
(w <> m) and
(w <> i) and
(w <> s) and
(w <> t) and
(w <> y) and
(w <> a) and
(w <> l) and
(w <> o) and
(w <> n) and
(m <> i) and
(m <> s) and
(m <> t) and
(m <> y) and
(m <> a) and
(m <> l) and
(m <> o) and
(m <> n) and
(i <> s) and
(i <> t) and
(i <> y) and
(i <> a) and
(i <> l) and
(i <> o) and
(i <> n) and
(s <> t) and
(s <> y) and
(s <> a) and
(s <> l) and
(s <> o) and
(s <> n) and
(t <> y) and
(t <> a) and
(t <> l) and
(t <> o) and
(t <> n) and
(y <> a) and
(y <> l) and
(y <> o) and
(y <> n) and
(a <> l) and
(a <> o) and
(a <> n) and
(l <> o) and
(l <> n) and
(o <> n) then
begin
z1[1]:= i * lintpower(10,0);
z1[2]:= w * lintpower(10,3) + a * lintpower(10,2) + n * lintpower(10,1) + t * lintpower(10,0);
z1[3]:= m * lintpower(10,1) + y * lintpower(10,0);
z1[4]:= m * lintpower(10,3) + a * lintpower(10,2) + i * lintpower(10,1) + l * lintpower(10,0);
sum[j1]:= s * lintpower(10,3) + o * lintpower(10,2) + o * lintpower(10,1) + n * lintpower(10,0);
if z1[1]*z1[2]-z1[3]+z1[4] = sum[j1] then begin
bool:= true;
j1:= j1 + 1;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
if bool then
begin
a3:= j1 - 1;
a2:= maxnum(sum,a3);
a1:= minnum(sum,a3);
writeln('max = ', a2);
writeln('min = ', a1);
writeln('n = ', a3);
answer:= a2 - a1 + a3;
writeln('answer = ', answer);
end;
end;
begin
getsum;
readln;
end.
Running cryptogram several operators21.pas we obtain:
a 2 = 9 5 5 0 , b 2 = 6 7 7 5 , n 2 = 4 5 ⟹ m 2 = 2 8 2 0 .
Now run program A and enter the data for the third cryptogram. Program A has now written program B 3 to the textfile "myfile6.txt".
For program B 3 :
Go to text file "myfile6.txt" and save it with a different extension( I saved it using using cryptogram_several operators31.pas).
Program cryptogram_several operators31.pas is:
program for brillant 3;
type arraytype = array[1 .. 5000] of longint;
var z1:arraytype;
function LINTpower(base,exponent:longint):longint;
var n,product:longint;
begin
product:= 1;
for n:= 1 to exponent do
begin
product:= base * product;
end;
LINTpower:= product;
end;
function minnum(a:arraytype; last:longint):longint;
var j,n:longint;
small:longint;
begin
small:= a[1];
for j:= 2 to last do
begin
if a[j] < small then
small:= a[j];
end;
minnum:= small;
end;
function maxnum(a:arraytype; last:longint):longint;
var j,n:longint;
large:longint;
begin
large:= a[1];
for j:= 2 to last do
begin
if a[j] > large then
large:= a[j];
end;
maxnum:= large;
end;
procedure getsum;
var s,w,m,i,o,n,t,y,a,l:longint;
bool:boolean;
j1:longint;
a1,a2,a3,answer:longint; sum:arraytype;
begin
bool:= false;
j1:= 1;
for s:= 1 to 9 do
begin
for w:= 1 to 9 do
begin
for m:= 1 to 9 do
begin
for i:= 1 to 9 do
begin
for o:= 0 to 9 do
begin
for n:= 0 to 9 do
begin
for t:= 0 to 9 do
begin
for y:= 0 to 9 do
begin
for a:= 0 to 9 do
begin
for l:= 0 to 9 do
begin
if
(s <> w) and
(s <> m) and
(s <> i) and
(s <> o) and
(s <> n) and
(s <> t) and
(s <> y) and
(s <> a) and
(s <> l) and
(w <> m) and
(w <> i) and
(w <> o) and
(w <> n) and
(w <> t) and
(w <> y) and
(w <> a) and
(w <> l) and
(m <> i) and
(m <> o) and
(m <> n) and
(m <> t) and
(m <> y) and
(m <> a) and
(m <> l) and
(i <> o) and
(i <> n) and
(i <> t) and
(i <> y) and
(i <> a) and
(i <> l) and
(o <> n) and
(o <> t) and
(o <> y) and
(o <> a) and
(o <> l) and
(n <> t) and
(n <> y) and
(n <> a) and
(n <> l) and
(t <> y) and
(t <> a) and
(t <> l) and
(y <> a) and
(y <> l) and
(a <> l) then
begin
z1[1]:= s * lintpower(10,3) + o * lintpower(10,2) + o * lintpower(10,1) + n * lintpower(10,0);
z1[2]:= i * lintpower(10,0);
z1[3]:= w * lintpower(10,3) + a * lintpower(10,2) + n * lintpower(10,1) + t * lintpower(10,0);
z1[4]:= m * lintpower(10,1) + y * lintpower(10,0);
sum[j1]:= m * lintpower(10,3) + a * lintpower(10,2) + i * lintpower(10,1) + l * lintpower(10,0);
if z1[1]+z1[2]*z1[3]-z1[4] = sum[j1] then begin
bool:= true;
j1:= j1 + 1;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
if bool then
begin
a3:= j1 - 1;
a2:= maxnum(sum,a3);
a1:= minnum(sum,a3);
writeln('max = ', a2);
writeln('min = ', a1);
writeln('n = ', a3);
answer:= a2 - a1 + a3;
writeln('answer = ', answer);
end;
end;
begin
getsum;
readln;
end.
Running cryptogram several operators31.pas we obtain:
a 3 = 9 4 2 3 , b 3 = 5 4 1 7 , n 3 = 5 2 ⟹ m 3 = 4 0 5 8 .
Now run program A and enter the data for the forth cryptogram. Program A has now written program B 4 to the textfile "myfile6.txt".
For program B 4 :
Go to text file "myfile6.txt" and save it with a different extension( I saved it using using cryptogram_several operators41.pas).
Program cryptogram_several operators41.pas is:
program for brillant 3;
type arraytype = array[1 .. 5000] of longint;
var z1:arraytype;
function LINTpower(base,exponent:longint):longint;
var n,product:longint;
begin
product:= 1;
for n:= 1 to exponent do
begin
product:= base * product;
end;
LINTpower:= product;
end;
function minnum(a:arraytype; last:longint):longint;
var j,n:longint;
small:longint;
begin
small:= a[1];
for j:= 2 to last do
begin
if a[j] < small then
small:= a[j];
end;
minnum:= small;
end;
function maxnum(a:arraytype; last:longint):longint;
var j,n:longint;
large:longint;
begin
large:= a[1];
for j:= 2 to last do
begin
if a[j] > large then
large:= a[j];
end;
maxnum:= large;
end;
procedure getsum;
var i,f,t,d,h,s,u,n,o:longint;
bool:boolean;
j1:longint;
a1,a2,a3,answer:longint; sum:arraytype;
begin
bool:= false;
j1:= 1;
for i:= 1 to 9 do
begin
for f:= 1 to 9 do
begin
for t:= 1 to 9 do
begin
for d:= 1 to 9 do
begin
for h:= 0 to 9 do
begin
for s:= 0 to 9 do
begin
for u:= 0 to 9 do
begin
for n:= 0 to 9 do
begin
for o:= 0 to 9 do
begin
if
(i <> f) and
(i <> t) and
(i <> d) and
(i <> h) and
(i <> s) and
(i <> u) and
(i <> n) and
(i <> o) and
(f <> t) and
(f <> d) and
(f <> h) and
(f <> s) and
(f <> u) and
(f <> n) and
(f <> o) and
(t <> d) and
(t <> h) and
(t <> s) and
(t <> u) and
(t <> n) and
(t <> o) and
(d <> h) and
(d <> s) and
(d <> u) and
(d <> n) and
(d <> o) and
(h <> s) and
(h <> u) and
(h <> n) and
(h <> o) and
(s <> u) and
(s <> n) and
(s <> o) and
(u <> n) and
(u <> o) and
(n <> o) then
begin
z1[1]:= t * lintpower(10,3) + h * lintpower(10,2) + i * lintpower(10,1) + s * lintpower(10,0);
z1[2]:= i * lintpower(10,1) + s * lintpower(10,0);
z1[3]:= f * lintpower(10,2) + u * lintpower(10,1) + n * lintpower(10,0);
z1[4]:= t * lintpower(10,1) + o * lintpower(10,0);
sum[j1]:= d * lintpower(10,1) + o * lintpower(10,0);
if z1[1]-z1[2]*z1[3]+z1[4] = sum[j1] then begin
bool:= true;
j1:= j1 + 1;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
end;
if bool then
begin
a3:= j1 - 1;
a2:= maxnum(sum,a3);
a1:= minnum(sum,a3);
writeln('max = ', a2);
writeln('min = ', a1);
writeln('n = ', a3);
answer:= a2 - a1 + a3;
writeln('answer = ', answer);
end;
end;
begin
getsum;
readln;
end.
Running cryptogram several operators41.pas we obtain:
a 4 = 9 8 , b 4 = 1 3 , n 4 = 8 2 ⟹ m 4 = 1 6 7 .
⟹ m 1 + m 2 + m 3 + m 4 = 1 1 0 8 7 .