Veteran1941
01.03.2022 15:21

Компьютерере представление беззнакового целого числа 0000000000100111. Данное компьютерное представление 1.Восьмиразрядное 2.Двухразрядное 3.Пятнадцатиразрядное 4.Шестнадцатиразрядное​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
чапмит
01.01.2020 11:58

/*Код соответствует тексту задания из файла. Последовательность вводится в строку через знаки пробела, нажатие клавиши Enter заканчивает ввод последовательности. Программа НЕ проверяет корректность введенных данных*/

#include <iostream>

bool is_prime(const int n);

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

{

   int numb, n_of_pr_numb = 0;

   long int sum = 0;

   do

    {

       std::cin >> numb;

       if(is_prime(numb))

       {

           sum += numb;

           n_of_pr_numb++;

       }

   } while (std::cin.peek() != '\n');

   std::cout << "The arithmetic mean: " << (n_of_pr_numb == 0 ? 0 : sum * 1. / n_of_pr_numb);

}

bool is_prime(const int n)

{

   if (n <= 1)

   {

       return false;

   }

   for (int i = 2; i <= pow(n, 1/2); i++)

   {

       if (n % i == 0)

       {

           return false;  

       }

   }

   return true;

}

Основные ошибки/недочеты Вашей реализации:

В функции pr строка for ( a = 2 ; a<=n ; a++) неверна, т.к. на последнем шаге число всегда будут сравнивать с самим собой, правильно for ( a = 2 ; a<n ; a++). Ну и нет смысла проверять до a=n-1, достаточно проверить до √n(об этом есть целая теорема).По условию никакого вывода слов "Простое/Не простое" не требуетсяСтрока cout << "n = "; лишняя, т.к. даже если на ввод будет подано несколько чисел, на экран "n = " будет выведено лишь в начале. Лучше уточнить для пользователя формат ввода.Смысл функции arif неясен, она выводит на консоль какие-то непонятные пользователю данные, затем возвращает s/i[ВНИМАНИЕ! Так как s и i целочисленные, то s/i не является средним арифметическим, это будет лишь целая часть от него. Правильнее s * 1./i или static_cast<double>(s)/i], а затем выводит это значение. Зачем разрывать cout на две функции - неясноВвод данных не должен находиться в функции проверки числа на простоту(да и смысл разбиения программы на функции пропадает)
0,0(0 оценок)
Ответ:
0Frozen0
31.08.2022 20:12

Условие: (x % 4 == 0 and x % 100 != 0) or x % 400 == 0

Рассмотрим скобку x % 4 == 0 and x % 100 != 0:

x % 4 == 0 — число делится на 4 без остатка, т.е. кратно 4-мx % 100 != 0 — число не делится на 100 без остатка, т.е. не кратно 100

and говорит о том, что обязательно должны выполняться оба этих условия: число должно быть кратно 4-м И не кратно 100

Вторая часть условия:

x % 400 == 0 — число делится на 400 без остатка, т.е. кратно 400

or говорит о том, что либо выполняется условие в скобке, либо то, которое идет после or:

число должно быть кратно 4-м И не кратно 100, ИЛИ число должно быть кратно 400

Пример чисел, которые удовлетворяют условию:

0

4

8

12

128

400

1600

Например, 200 не подойдет:

200 % 4 == 0 — да

200 % 100 != 0 — нет

200 % 400 == 0 — нет

(да И нет) ИЛИ нет = нет ИЛИ нет = нет

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота