#include <iostream>
unsigned perfectSquareLessOrEqual(unsigned n) {
unsigned sum = 0;
for (unsigned i = 1; (sum + i) <= n; i += 2)
sum += i;
return sum;
}
int main() {
unsigned x, y;
std::cin >> x >> y;
const unsigned a = perfectSquareLessOrEqual(x) + perfectSquareLessOrEqual(y);
const unsigned b = perfectSquareLessOrEqual(x + y);
if (a < b)
std::cout << "Petya gives paint to Vasya";
else if (a > b)
std::cout << "Petya leaves paint to himself";
else
std::cout << "Equal";
return 0;
}
Объяснение:
Рассмотрим все задачи.
Объяснение:
Задача 8.
Она уже была описана в ответе на первый вариант, здесь приведу только решение
Задача 9.
Циклом пройдемся по строке, будем проверять, четный ли индекс, и на основании результатов проверки будем добавлять элемент с четным индексом к строке n_string, которая и будет являться ответом.
Задача 10.
Вводимую строку сразу же разобьем на отдельные слова (в этом нам split()). Одновременно с этим записываем получившиеся слова в список (list comprehensions) и тут же проверяем, длиннее ли они трех символов. Если да, то записываем в список, в противном случае - нет.
Решения на скриншоте.
uses Crt;
const
m=5; n=3;
type
matr=array[1..m,1..n] of integer;
var
mas:matr;
k,i,j:integer;
p:real;
begin
ClrScr;
Write('k='); Readln(k);
Randomize;
for i:=1 to m do begin
for j:=1 to n do begin
mas[i,j]:=Random(101);
Write(mas[i,j],' ')
end;
Writeln
end;
for j:=1 to n do begin
p:=1;
for i:=1 to m do p:=p*mas[i,j];
p:=Exp((1/m)*Ln(p));
if p>k then writeln (' j= ',j:5)
end
end.