begin
var R := SeqRandomReal(ReadInteger('n='), -50, 50)
.Select(t -> Round(t, 2)).ToArray;
R.Println;
var imin := R.IndexMin;
var Q := R.Select(t -> t * R[imin]).ToArray;
Q.Println; // если надо
R[imin] := Q.Average;
R.Println
end.
n= 7
30.94 -31.83 41.85 -42.56 34.33 19.38 1.88
-1316.8064 1354.6848 -1781.136 1811.3536 -1461.0848 -824.8128 -80.0128
30.94 -31.83 41.85 -328.2592 34.33 19.38 1.88
Решал эту штуку на с++.
И я думаю это самый норм язык для этого, потому что я перебирал
Кстати, если мой учитель это читает, я сам сделал эту штуку!
#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){
cout << z[z.size() - 1];
return 0;
begin
var R := SeqRandomReal(ReadInteger('n='), -50, 50)
.Select(t -> Round(t, 2)).ToArray;
R.Println;
var imin := R.IndexMin;
var Q := R.Select(t -> t * R[imin]).ToArray;
Q.Println; // если надо
R[imin] := Q.Average;
R.Println
end.
Примерn= 7
30.94 -31.83 41.85 -42.56 34.33 19.38 1.88
-1316.8064 1354.6848 -1781.136 1811.3536 -1461.0848 -824.8128 -80.0128
30.94 -31.83 41.85 -328.2592 34.33 19.38 1.88
Решал эту штуку на с++.
И я думаю это самый норм язык для этого, потому что я перебирал
Кстати, если мой учитель это читает, я сам сделал эту штуку!
#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;
}