25 = 25521
25521 = 2552112552111
2552112552111 = 25521125521111112552112552111111111
итого: 19
#include <iostream>
#include <string>
using namespace std;
int main()
{
string st1, st2, st3;
cout <<"Введите первую строку: ";
getline(cin, st1);
cout <<"Введите вторую строку: ";
getline(cin, st2);
st3=st1+st2;
cout <<"Результат:" <<endl;
cout <<st3 <<endl;
return 0;
}
Запишем высказывания Джона, Брауна и Смита в виде таблице, где o - это предположительный вор со слов одного из участников процесса, а x - невиновный.
Д Б С
Д x o
Б x x
С o x
Рассмотрим варианты:
1. Джон сказал правду, тогда Смит - вор, тогда имеем
Джон 2 раза сказал правду
Браун 2 раза сказал правду
Смит 2 раза соврал.
Этот вариант не подходит под условие задачи.
2. Браун сказал правду, тогда очевидно снова Смит - вор, тогда
Джон 2 раза сказал правду
Браун 2 раза сказал правду
Смит 2 раза соврал.
Этот вариант тоже не подходит.
3. Смит сказал правду, тогда Браун - вор, тогда
Джон 2 раза соврал
Браун 1 раз соврал, один раз сказал правду.
Смит 2 раза сказал правду.
Вариант подходит.
Значит
Браун - вор и не может быть оправдан.
Джон - оболгал невиновного человека (Смита) и должен быть наказан за это.
Смит - не врал и не крал. Следовательно Смит должен быть оправдан.
<span>uses graph;
var xc,yc,m,x1,y1:integer;
x,y:real;
begin
xc:=0;
initgraph(xc,yc,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
m:=yc div 2;
line(5,yc,getmaxX-5,yc);
line(xc-m,yc+3,xc-m,yc-3);
outtextXY(xc-m,yc+10,'-1');
outtextXY(xc+5,yc+10,'0');
line(xc+m,yc+3,xc+m,yc-3);
outtextXY(xc+m,yc+10,'1');
line(xc,5,xc,getmaxY-5);
line(xc-3,yc-m,xc+3,yc-m);
outtextXY(xc-10,yc-m,'1');
line(xc-3,yc+m,xc+3,yc+m);
outtextXY(xc-15,yc+m,'-1');
setcolor(12);
line(xc-m,yc,xc,yc-m);
line(xc,yc-m,xc+m,yc);
line(xc+m,yc,xc,yc+m);
line(xc,yc+m,xc-m,yc);
x:=-4;
while x<=4 do
begin
y:=0.52*x+0.18;
x1:=xc+round(x*m);
y1:=yc-round(y*m);
putpixel(x1,y1,14);
x:=x+0.01;
end;
readln
end.</span>