Подсчитайте сколько среди данных n чисел нулей положительных чисел отрицательных чисел
Перейти к содержимому

Подсчитайте сколько среди данных n чисел нулей положительных чисел отрицательных чисел

Решение задач на С++

Задача A. Четные числа
Выведите (через пробел) все четные числа от a до b (включительно).

  1. int a, b ;
  2. cin >> a >> b;
  3. for ( int i = a; i
  4. if (i % 2 == 0)
  5. cout

Задача B. Остаток
Вводятся 4 числа: a, b, c и d.
Выведите все числа на отрезке от a до b, дающие остаток c при делении на d.

  1. int a, b, c, d ;
  2. cin >> a >> b >> c >> d;
  3. for ( int i = a ; i
  4. if (i % d == c)
  5. cout

Задача C. Квадраты
Выведите все числа на отрезке от a до b, являющиеся полными квадратами.

  1. int a , b;
  2. cin >> a >> b ;
  3. int sqrt_a = ceil(sqrt(a + 0.0));
  4. int sqrt_b = sqrt(( double )b);
  5. for ( int i = sqrt_a ; i
  6. cout

В этом случае мы рационально движемся от sqrt(a) к sqrt(b), т.к. проверка меньших и больших значений смысла не имеет.
Нужно обратить внимание, что корень от а округляется в большую сторону ceil(sqrt(a + 0.0) перед отправкой в цикл: если а – и есть полный квадрат, то это число также должно быть выведено, однако, если а дает дробный корень, то его целая часть (при приведении к типу int) даст заведомо меньший квадрат, чем значение а. Поэтому мы заранее округляем sqrt(a) до следующего целого числа, дабы избежать выведение лишнего квадрата.

Варинат 2.
Этот вариант реализации менее рациональный, однако более прозрачный. Мы напрямую движемся от а до b c проверкой полноты квадрата каждого из текущих значений.

  1. int a,b;
  2. cin>>a>>b;
  3. for ( int i=a;i <=b;i++)
  4. int Sqrt = sqrt(( double )i);
  5. if ( Sqrt*Sqrt == i)
  6. cout
  7. >

* This source code was highlighted with Source Code Highlighter .

Задача H. Делители числа
Выведите все натуральные делители числа x в порядке возрастания (включая 1 и само число).

  1. int x;
  2. cin >> x;
  3. for ( int i = 1 ; i
  4. if ( x % i == 0 )
  5. cout

Задача I. Количество делителей
Подсчитайте количество натуральных делителей числа x (включая 1 и само число; x

  1. int x, k = 0;
  2. cin >> x;
  3. for ( int i = 1; i
  4. if (x % i == 0 )
  5. k++;
  6. cout

Задача J. Сумма ста
Вычислите сумму данных 100 натуральных чисел. Вводятся 100 чисел, сумму которых необходимо посчитать.

  1. int x;
  2. long long sum = 0;
  3. for ( int i = 1; i
  4. cin >> x;
  5. sum += x;
  6. >
  7. cout

Задача K. Сумма чисел
Вычислите сумму данных N натуральных чисел. Вводится число N, а затем N чисел, сумму которых необходимо вычислить.

  1. int n, x;
  2. long long sum = 0;
  3. cin >> n;
  4. for ( int i = 1; i
  5. cin >> x;
  6. sum += x;
  7. >
  8. cout

Задача M. Нули
Вводится число N, а затем N чисел. Подсчитайте, сколько среди данных N чисел нулей.

  1. int n , x , k = 0;
  2. cin >> n;
  3. for ( int i = 1; i
  4. cin >> x;
  5. if (x == 0)
  6. k++;
  7. >
  8. cout

Задача N. Подсчет чисел
Подсчитайте, сколько среди данных N чисел нулей, положительных чисел, отрицательных чисел. Вводится число N, а затем N чисел. Необходимо вывести сначала число нулей, затем число положительных и отрицательных чисел.

  1. int n, x;
  2. int zero = 0, pos = 0, neg = 0;
  3. cin >> n;
  4. for ( int i = 1; i
  5. cin >> x;
  6. if (x == 0) zero++;
  7. else if (x > 0) pos++;
  8. else neg++;
  9. >
  10. cout

При данной реализации мы каждый раз в цикле прогоняем последовательную проверку числа на знак. Сейчас это не доставляет никаких неудобств, т.к. мы имеем всего 3 критерия подсчета. Однако, если б требовалась более широкая проверка, например, относительно 10-ти различных случаев, то рациональнее было бы использовать сase–структуру. Что и сделано в варианте 2

Вариант 2.
Используем сase–структуру для определения знака, предварительно нормировав ненулевые значения в единицу (1/-1).

  1. int n, x;
  2. int zero = 0, pos = 0, neg = 0;
  3. cin >> n;
  4. for ( int i = 1; i
  5. cin >> x;
  6. if (x)
  7. x /= abs(x);
  8. switch (x)
  9. case 1: pos++; break ;
  10. case 0: zero++; break ;
  11. case -1: neg++; break ;
  12. >
  13. >
  14. cout

* This source code was highlighted with Source Code Highlighter .

Задача O. Ноль или не ноль
Проверьте, есть ли среди данных N чисел нули. Вводится число N, а затем N чисел. Выведите YES, если среди введенных чисел есть хотя бы один нуль, или NO в противном случае.

  1. int x, n;
  2. cin >> n;
  3. bool zeroExist = false ;
  4. for ( int i = 1; i
  5. cin >> x;
  6. if (x == 0)
  7. zeroExist = true ;
  8. break ;
  9. >
  10. >
  11. if (zeroExist)
  12. cout
  13. else
  14. cout

Вариант 2.
Ту же самую идею можно описать короче.

  1. int x, n;
  2. cin >> n;
  3. bool zeroExist = false ;
  4. for ( int i = 1; i
  5. cin >> x;
  6. zeroExist = zeroExist | (x == 0);
  7. if (zeroExist)
  8. break ;
  9. >
  10. cout <<(zeroExist ? "YES" : "NO" );

Задача P. Уравнение по возрастанию
Вводятся 4 числа: a, b, c и d.
Найдите все целые решения уравнения ax 3 + bx 2 + cx + d = 0 на отрезке [0,1000] и выведите их в порядке возрастания.

  1. long long a , b , c , d ;
  2. cin >> a >> b >> c >> d;
  3. for ( int i = 0; i
  4. if ( a*i*i*i + b*i*i + c*i + d == 0)
  5. cout

Задача Q. Уравнение по убыванию
Вводятся 4 числа: a, b, c и d.
Найдите все целые решения уравнения ax 3 + bx 2 + cx + d = 0 на отрезке [0,1000] и выведите их в порядке убывания.

  1. long long a, b, c, d;
  2. cin >> a >> b >> c >> d;
  3. for ( int i = 1000; i >= 0; i—)
  4. if (a*i*i*i + b*i*i + c*i + d == 0)
  5. cout

Задача R. Количество решений
Вводятся 5 чисел: a, b, c, d и e.
Найдите все целые решения уравнения ( ax 3 + bx 2 + cx + d ) / ( x — e ) = 0 на отрезке [0,1000] и выведите их количество.

  1. long long a, b, c, d, e;
  2. cin >> a >> b >> c >> d >> e ;
  3. int k = 0;
  4. for ( int i = 0; i
  5. if (a*i*i*i + b*i*i + c*i + d == 0)
  6. if (i — e != 0)
  7. k++;
  8. cout

Задача S. ГНЧЭ-1
«ГНЧЭ-1» – сложное электронное устройство, выдающее каждую секунду очередное число последовательности 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5. Ввиду дороговизны электронных комплектующих вам поручено разработать эмулятор для этого устройства.
Дано количество секунд (от 1 до 1000000), которые работает генератор после включения. Вывести результат работы генератора

Вариант 1.
При таком варианте реализации мы печатаем столько раз текущее значение cur сколько оно само обозначает count , после чего обнуляем подсчет одинаковых выводов count и переходим на следующее текущее значение cur и т.д.

  1. int n;
  2. cin >> n;
  3. int cur = 1 , count = 0;
  4. for ( int i = 1; i
  5. cout
  6. count++;
  7. if (cur == count)
  8. cur++;
  9. count = 0;
  10. >
  11. >

Вариант 2.
В этом варианте решения идея та же. Однако контроль за количеством отработанных секунд и количеством напечатанных текущих значений возложены на два отдельных цикла.
Итак, здесь мы ведем подсчет напечатанных позиций pos , которых должно быть ровно столько же, сколько секунд работает машина. А внутренним циклом задаем печать текущего числа cur . Проверка условия if (pos == n) не даст задержаться во внутреннем цикле дольше положенных секунд.

  1. int n;
  2. cin >> n;
  3. int pos = 0, cur = 1;
  4. for ( ; pos < n ; )
  5. for ( int i = 0; i < cur; i++)
  6. printf( «%d » , cur);
  7. pos++;
  8. if (pos == n)
  9. break ;
  10. >
  11. cur++;
  12. >

Условие

Дано N чисел: сначала вводится число N, затем вводится ровно N целых чисел. Подсчитайте количество нулей среди введенных чисел и выведите это количество. Вам нужно подсчитать количество чисел, равных нулю, а не количество цифр.

Решение

num_zeroes = 0 for i in range(int(input())): if int(input()) == 0: num_zeroes += 1 print(num_zeroes)

Добавить комментарий Отменить ответ

ЕГЭ на соточку для чайников

Прошу прощения, что так долго пропадал. Питошка вернулся, да еще и с группой в вконтакте, подписывайтесь. Помимо этого, на питошке откроется новая рубрика, в которой будут четкие объяснения всех заданий ЕГЭ и ОГЭ по информатике, внимательно прочитав которые, я уверен, вы улучшите свои баллы на экзамене ��

Количества отрицательных и положительных элементов в массиве

В заданном массиве чисел найти (посчитать) количество положительных и количество отрицательных элементов.

Например, задан массив целых чисел [10, -5, 3, 2, 0, -1, 8, 0, 10, 3]. В нем 6 положительных и 2 отрицательных элемента (нули ни к тем, ни к другим не относятся).

Для решения данной задачи введем две переменные ( pos и neg ) для подсчета количества соответственно положительных и отрицательных элементов массива.

Будем проверять очередной элемент-число в том же цикле, в котором массив заполняется. Если элемент меньше нуля, значит будем увеличивать на 1 переменную neg . Иначе, если элемент больше нуля, будем увеличивать pos . Мы не можем опустить проверку на положительность (которая идет второй), ведь число может оказаться равным нулю, и в таком случае никакую переменную-счетчик увеличивать не надо.

После завершения цикла остается только вывести на экран значения переменных pos и neg , которые содержат количества положительных и отрицательных элементов массива.

Исходный код программы поиска количества положительных и отрицательных элементов массива на языке Pascal:

const N = 10; var a: array[1..N] of integer; i, pos, neg: byte; begin randomize; pos := 0; neg := 0; for i := 1 to N do begin a[i] := random(7) - 3; write(a[i], ' '); if a[i] < 0 then neg := neg + 1 else if a[i] >0 then pos := pos + 1; end; writeln; writeln('Положительных: ', pos); writeln('Отрицательных: ', neg); end.
3 1 -3 -3 -1 1 0 0 2 -2 Положительных: 4 Отрицательных: 4

Функция СРЗНАЧЕСЛИ

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel Web App Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще. Меньше

В этой статье описаны синтаксис формулы и использование С AVERAGEIF в Microsoft Excel.

Описание

Возвращает среднее значение (среднее арифметическое) всех ячеек в диапазоне, которые соответствуют данному условию.

Синтаксис

СРЗНАЧЕСЛИ(диапазон, условия, [диапазон_усреднения])

Аргументы функции СРЗНАЧЕСЛИ указаны ниже.

  • Диапазон. Обязательный. Одна или несколько ячеек для вычисления среднего, включающих числа или имена, массивы или ссылки, содержащие числа.
  • Условие. Обязательный. Условие в форме числа, выражения, ссылки на ячейку или текста, которое определяет ячейки, используемые при вычислении среднего. Например, условие может быть выражено следующим образом: 32, «32», «>32», «яблоки» или B4.
  • Диапазон_усреднения. Необязательный. Фактическое множество ячеек для вычисления среднего. Если этот параметр не указан, используется диапазон.

Замечания

  • Ячейки в диапазоне, которые содержат значения ИСТИНА или ЛОЖЬ, игнорируются.
  • Если ячейка в «диапазоне_усреднения» пустая, функция СРЗНАЧЕСЛИ игнорирует ее.
  • Если диапазон является пустым или текстовым значением, то #DIV0! значение ошибки #ЗНАЧ!.
  • Если ячейка в условии пустая, «СРЗНАЧЕСЛИ» обрабатывает ее как ячейки со значением 0.
  • Если ни одна из ячеек в диапазоне не соответствует условиям, то #DIV/0! значение ошибки #ДЕЛ/0!.
  • В этом аргументе можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому одиночному символу; звездочка — любой последовательности символов. Если нужно найти сам вопросительный знак или звездочку, то перед ними следует поставить знак тильды (~).
  • Значение «диапазон_усреднения» не обязательно должно совпадать по размеру и форме с диапазоном. При определении фактических ячеек, для которых вычисляется среднее, в качестве начальной используется верхняя левая ячейка в «диапазоне_усреднения», а затем добавляются ячейки с совпадающим размером и формой. Например:

Если диапазон равен

И «диапазон_усреднения»

Обрабатываемые ячейки

Примечание: Функция СРЗНАЧЕСЛИ измеряет среднее значение, то есть центр набора чисел в статистическом распределении. Существует три наиболее распространенных способа определения среднего значения: :

  • Среднее значение — это среднее арифметическое, которое вычисляется путем сложения набора чисел с последующим делением полученной суммы на их количество. Например, средним значением для чисел 2, 3, 3, 5, 7 и 10 будет 5, которое является результатом деления их суммы, равной 30, на их количество, равное 6.
  • Медиана — это число, которое является серединой множества чисел, то есть половина чисел имеют значения большие, чем медиана, а половина чисел имеют значения меньшие, чем медиана. Например, медианой для чисел 2, 3, 3, 5, 7 и 10 будет 4.
  • Мода — это число, наиболее часто встречающееся в данном наборе чисел. Например, модой для чисел 2, 3, 3, 5, 7 и 10 будет 3.

При симметричном распределении множества чисел все три значения центральной тенденции будут совпадать. При смещенном распределении множества чисел значения могут быть разными.

Примеры

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Стоимость имущества

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *