Цепочки символов (строки) по следующему правилу. первая строка состоит из одного символа – цифры "1". каждая из последующих цепочек создается такими действиями: в очередную строку дважды записывается цепочка цифр из предыдущей строки (одна за другой, подряд), а в конец приписывается еще одно число – номер строки по порядку (т.е. на i-м шаге дописывается число "i"). вот первые 3 строки, созданные по этому правилу: 1) 1 2) 112 3) 1121123 какие цифры стоят в восьмой строке на 121-126-м местах (считая слева направо c единицы)? фрагмент строки из 6 цифр и объясните, как был получен ответ. эффективное решение данной оценивается выше.
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <vector>
#include <deque>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <algorithm>
#include <functional>
#include <cstring>
#include <utility>
#include <bitset>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstdio>
#include <climits>typedef unsigned long long ulol;
typedef long double ld;
typedef long long lol;
typedef long int li;#define mp make_pair
#define F first
#define S second
#define sqr(a) ( (a) * (a) )
#define pb push_back
#define INF 999999999
#define ret(a) cout << endl; system("pause"); return(a)
//#define ret(a) return(a)using namespace std;int main()
{
ld x;
cin >> x;
x = ( 8 / sqrt( x ) ) + sqrt(x);
cout << x;
ret(0);
}
begin
writeln('Введите строны первого треугольника: ');
read(a1, b1, c1);
writeln('Введите стороны второго треугольника: ');
read(a2, b2, c2);
p1 := (a1 + b1 + c1) / 2;
p2 := (a2 + b2 + c2) / 2;
s1 := sqrt(p1 * (p1 - a1) * (p1 - b1) * (p1 - c1));
s2 := sqrt(p2 * (p2 - a2) * (p2 - b2) * (p2 - c2));
if (s1 + 1e-3 > s2) and (s1 < s2 + 1e-3) then writeln('Равновеликие')
else writeln('Неравновеликие');
end.