М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
yesenia2007
yesenia2007
16.02.2020 03:25 •  Информатика

Наибольший общий делитель (НОД) двух чисел может вычислен по формуле:НОД(a,b) = a, если b = 0;НОД(a,b) =НОД(b,a%b), если b > 0, где % — остаток от деления.

Наибольший общий делитель нескольких чисел вычисляется последовательным применением НОД к парам чисел:

НОД(a,b,c) =НОД(НОД(a,b),c)НОД(a) = a

Вам дана последовательность a1,a2,…,aN. Требуется подсчитать количество различных НОД подпоследовательностей ai,ai+1,…,aj (где 1 ≤ i ≤ j ≤ N) этой последовательности.

Формат ввода

Первая строка ввода содержит одно целое число N(1 ≤ N ≤ 500000). Вторая строка ввода содержит N целых чисел в диапазоне от 1 до 1018, разделенных пробелами —последовательность a1,a2,…,aN.

Формат вывода

Вывести одно целое число — количество различных значений среди gcd для всех непрерывных подпоследовательностей в заданной последовательности.

Пример 1

ВВОД

4
9 6 2 4

ВЫВОД

6

Пример 2

ВВОД

4
9 6 3 4

ВЫВОД

5

👇
Открыть все ответы
Ответ:
Ananim001
Ananim001
16.02.2020

#include <stdio.h>

#include <conio.h>

#include <limits.h>

#define N 15

int main()

{

   int mas[N];

   int i;

   

   for (i = 0; i < N; i++)

   {

       printf("mas[%d] = ", i+1);

       scanf("%d", &mas[i]);

   }

   

   int count = 0, sum = 0, count1 = 0, min = INT_MAX;

   

   for(int i=0; i<N; i++)

   {

       if (mas[i] > 20)

       {

           sum += mas[i];

           count++;

       }

       

       if(mas[i]>=0)

           count1++;

           

       if(mas[i]<min)

           min = mas[i];

   }

   

   sum = sum / count;

   printf("Средне арифметическое элементов больше 20: %d  ", sum);

   printf("\n");

   printf("Положительных: %d  ", count1);

   printf("\n");

   printf("Минимальный: %d  ", min);

   printf("\n");

   

   getch();

   return 0;

}


по ИНФОРМАТИКЕ Дан массив С, состоящий не более чем из 15 целых чисел. Написать программу, которая:
4,5(87 оценок)
Ответ:
iammrproper
iammrproper
16.02.2020

Под пятнадцатым членом подразумевается 1/15 или 1/16, учитывая, что первым членом является 1/2?

Вот решение первой задачи для случая, если пятнадцатый член равен 1/16. Если под пятнадцатым членом подразумевается 1/15, то нужно просто заменить i <= 16 на i <= 15

C++Выделить код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#include <iostream>

#include <conio.h>

 

using namespace std;

 

int main(int argc, char *argv[])

{

   double result = 1.0;

 

   for(int i = 2; i <=16; i++)

   {

       double temp = 1.0 / ((double)i);

       result *= temp;

   }

 

   cout << "Result is " << result << endl;

   getch();

 

   return 0;

Объяснение:

4,7(44 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ