d5806252
?>

Напишите программу по тексту в паскале или на си+++ или на питоне пусть дана последовательность чисел a1, : , an, состоящая из 0 и 1. пару чисел (ai, aj), таких что i < j, j - i = k и ai ¹ aj, назовем неправильной. индексом неправильности последовательности (инп) назовем количество неправильных пар (ai, aj) в ней. инп легко посчитать за один проход по массиву, в котором хранятся элементы последовательности: переберем все i от 1 до n - k и сравним их с соответствующими j = i + k. если инп равен 0, то ответ в ok и никаких чисел менять в ней не нужно. иначе для каждого из элементов последовательности найдем инп после изменения этого элемента. при изменении одного числа в последовательности нулей и единиц может измениться только правильность пар (ai-k, aj) и (ai, ai+k), если они, конечно, существуют. дело в том, что i - k может быть меньше 1, или i + k - больше n. в этих случаях соответствующая пара отсутствует. значит в результате изменения одного числа, инп может измениться на -2, -1, 0, +1 или +2. если в результате изменения какого-то из чисел инп станет равным 0 - то ответ ok и номер измененного элемента, иначе - ответ fail. данный алгоритм работает за линейное относительно длины последовательности время.

Информатика

Ответы

tyrnaus

Важное замечание: Для типа long long int требуется от компилятора поддержка стандарта C99.

Приложил файл расширения .cpp, чтобы обойти ограничение сайта. При работе с кодом измените на .c

#include <stdio.h>


long long int NOD(long long int var1, long long int var2) //Алгоритм Евклида

{

   while(var1 != var2)

   {

       if(var1 > var2)

           var1 = var1 - var2;

       else var2 = var2 - var1;

   }

   return var1;

}

long long int NOK(long long int var1, long long int var2)

{

   return (var1 * var2) / NOD(var1, var2);

}

int main()

{

   long long int N, K;

   scanf("%lli%lli", &N, &K);


   printf("Количество оборотов: %lli\n", NOK(N, K));


}


Даны две сцепленные шестеренки. у одной шестеренки n зубцов, у другой – k. требуется найти, какое ми
prostopo4ta29

Если мы разделим некоторое целое число P на целое число N, то получим целое число r и целый остаток s. Тогда можно записать, что P = r × N + s.

Вспомним, что для перевода числа P в систему счисления по оcнованию N мы последовательно делим P на N до тех пор, пока P ≥ N и выписываем остатки, а потом записываем эти остатки в обратном порядке. Следовательно, первый из полученных остатков будет последней цифрой числа P в системе по основанию N.

P_N=r_N\times N+s_N

Переведем 139 в систему счисления по основанию 8.

139 / 8 = 17, остаток 3

17 / 8 = 2, остаток 1

2 / 8 = 0, остаток 2

Выписываем остатки в обратном порядке: 213. Как и ожидалось, последняя цифра полученного числа и есть остаток от деления числа на основание системы счисления.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу по тексту в паскале или на си+++ или на питоне пусть дана последовательность чисел a1, : , an, состоящая из 0 и 1. пару чисел (ai, aj), таких что i < j, j - i = k и ai ¹ aj, назовем неправильной. индексом неправильности последовательности (инп) назовем количество неправильных пар (ai, aj) в ней. инп легко посчитать за один проход по массиву, в котором хранятся элементы последовательности: переберем все i от 1 до n - k и сравним их с соответствующими j = i + k. если инп равен 0, то ответ в ok и никаких чисел менять в ней не нужно. иначе для каждого из элементов последовательности найдем инп после изменения этого элемента. при изменении одного числа в последовательности нулей и единиц может измениться только правильность пар (ai-k, aj) и (ai, ai+k), если они, конечно, существуют. дело в том, что i - k может быть меньше 1, или i + k - больше n. в этих случаях соответствующая пара отсутствует. значит в результате изменения одного числа, инп может измениться на -2, -1, 0, +1 или +2. если в результате изменения какого-то из чисел инп станет равным 0 - то ответ ok и номер измененного элемента, иначе - ответ fail. данный алгоритм работает за линейное относительно длины последовательности время.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Stepanovich_Makarov
director
charlie79
milkline-nn
Maly01984489
janepustu
zaschitin48
Corneewan
Popova-Erikhovich
vuyakovleva
Gatina
Анна Марина1873
emaykova785
larinafashion829
vtarasyuk