var
a,b:string;
i:integer;
begin
readln(a);
readln(b);
For i:=1 to Length(a) do
begin
if (a[i]='3') then
Begin
Delete(a,i,1);
InSert('e',a,i);
End;
if (a[i]='0') then
Begin
Delete(a,i,1);
InSert('o',a,i);
End;
if (a[i]='1') then
Begin
Delete(a,i,1);
InSert('i',a,i);
End;
if (a[i]='7') then
Begin
Delete(a,i,1);
InSert('t',a,i);
End;
if (a[i]='4') then
Begin
Delete(a,i,1);
InSert('a',a,i);
End;
if (a[i]='5') then
Begin
Delete(a,i,1);
InSert('s',a,i);
End;
end;
if b in a then
writeln('YES')
else
writeln('NO')
end.
// Форматирование вывода вещественного числа можно поставить как нравится, я выбрал 3:3
// Считал, что доля с участием нуля равна 0%
program Calc;
var a, b: integer;
begin
write('Введите a: ');
readln(a);
write('Введите b: ');
readln(b);
writeln(a, '+', b, '=', a + b);
writeln(a, '-', b, '=', a - b);
writeln(a, '*', b, '=', a * b);
if (b = 0) then begin
writeln(a, '/', b, ' не определено');
writeln(a, ' составляет 0% от числа ', b);
end
else begin
writeln(a, '/', b, '=', (a / b):3:3);
writeln(a, ' составляет ', (a / b * 100):3:3, '% от числа ', b);
end;
if (a = 0) then
writeln(b, ' составляет 0% от числа ', a)
else
writeln(b, ' составляет ', (b / a * 100):3:3, '% от числа ', a);
end.
Решал эту штуку на с++.
И я думаю это самый норм язык для этого, потому что я перебирал
Кстати, если мой учитель это читает, я сам сделал эту штуку!
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
string a,b,c,mi;
int y = 0;
cin >> a >> b >> c;
vector <string> z;
if (a.length() <= b.length() && a.length() <= c.length()){
mi = a;
}
else if (b.length() <= a.length() && b.length() <= c.length()){
mi = b;
}
else{
mi = c;
}
for (int i = 1;i <= mi.length();i++){
y = 0;
for (int l = 0;l < mi.length() - i + 1;l++){
string s;
for (int j = 0;j < i;j++){
s = s + mi[l + j];
}
if (a.find(s) != std::string::npos && b.find(s) != std::string::npos && c.find(s) != std::string::npos){
z.push_back(s);
y = 1;
break;
}
}
if (y == 0){
break;
}
}
cout << z[z.size() - 1];
return 0;
}