Изображаем условие на кругах Эйлера. Если по запросу "паркур и конкур" ничего не найдено, то тем более ничего не будет найдено по запросу "паркур и конкур и прыжок". Остальные области заполняются однозначно, сначала пересечения, потом, чтобы суммарные количества совпали с условием.
Запросу "паркур или прыжок или конкур" соответствует объединение всех областей, по запросу будет найдено (58 - 32) + (52 - 14) + (99 - 14 - 32) + 14 + 32 + 0 + 0 = (58 + 52 + 99) - (32 + 14 + 0) + 0 = 163 тысячи страниц
Здесь в цикле накапливается сумма значений 2*i, где i меняется от 12 до 33.
Проделаем некоторые преобразования.
Cумма S1 - это сумма членов арифметической прогрессии с разностью d=1.
Тогда S=86+2x495=1076
Ответ: 1076
#include <stdio.h>
#include <stdlib.h>
char input[1024];
int len;
int find_mistake()
{
int i, mistake = 0;
for (i = 0; i < len; i ++)
if (input == '1')
mistake ^= i + 1;
return mistake;
}
int main()
{
int i, mistake = 0;
char info[1024];
int info_pos = 0;
int b = 1;
printf("Enter code: ");
scanf("%s", input);
len = strlen(input);
for (i = 0; i < len; i++)
if (input != '0' && input != '1')
<span> { </span>
printf("Invalid code.\n");
<span> return -1; </span>
}
<span> </span>
mistake = find_mistake();
if (mistake)
{
input[mistake - 1] ^= '0' ^ '1';
<span> mistake = find_mistake(); </span>
<span> if (mistake) </span>
<span> { </span>
printf("Invalid code.\n");
return -1;
<span> } </span>
}
<span> </span>
printf("Fixed code: %s\n", input);
for (i = 0; i < len; i++)
if (i + 1 == b)
b <<= 1;
else
info[info_pos++] = input;
info[info_pos] = '\0';
printf("Informational string: %s\n", info);
return 0;
<span> }</span>
Репетиция-это цикл. Т.е. ты повторяешь одно и тоже(оттачиваешь навыки).
Решение во вложении. Не забудьте разрешить выполнение макросов и проектов VBA без цифровой подписи.