Вопрос задан 24.11.2023 в 06:30. Предмет Информатика. Спрашивает Дружук Стас.

Задачи на C++ 1. нужно написать програму проверка делимости чисел на 3 и 9 2. И програму

факторизация числа
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Журушкина Дарья.

Ответ:

1.Программа проверки делимости чисел на 3 и 9 на C++:

#include <iostream>

using namespace std;

int main() {

   int num;

   cout << "Введите число: ";

   cin >> num;

   if (num % 3 == 0) {

       cout << num << " делится на 3" << endl;

       if (num % 9 == 0) {

           cout << num << " делится на 9" << endl;

       }

   } else {

       cout << num << " не делится на 3 и 9" << endl;

   }

   return 0;

}

2.Программа на C++, которая принимает число и выводит факториал этого числа:

#include <iostream>

using namespace std;

int main() {

   int num, fact = 1;

   cout << "Введите число: ";

   cin >> num;

   // Вычисление факториала числа

   for (int i = 1; i <= num; i++) {

       fact *= i;

   }

   cout << "Факториал числа " << num << " равен " << fact << endl;

   return 0;

}

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача 1: Проверка делимости чисел на 3 и 9

Для написания программы, которая проверяет делимость чисел на 3 и 9, можно использовать следующий код на языке C++:

```cpp #include

bool isDivisibleBy3(int number) { int sum = 0; while (number > 0) { sum += number % 10; number /= 10; } return (sum % 3 == 0); }

bool isDivisibleBy9(int number) { return (number % 9 == 0); }

int main() { int number; std::cout << "Введите число: "; std::cin >> number;

if (isDivisibleBy3(number)) { std::cout << "Число делится на 3" << std::endl; } else { std::cout << "Число не делится на 3" << std::endl; }

if (isDivisibleBy9(number)) { std::cout << "Число делится на 9" << std::endl; } else { std::cout << "Число не делится на 9" << std::endl; }

return 0; } ```

Эта программа сначала запрашивает у пользователя число, а затем проверяет его делимость на 3 и 9 с помощью функций `isDivisibleBy3` и `isDivisibleBy9`. Если число делится на соответствующее число без остатка, выводится сообщение "Число делится на 3" или "Число делится на 9". В противном случае выводится сообщение "Число не делится на 3" или "Число не делится на 9".

Примечание: В коде используется оператор `%`, который возвращает остаток от деления одного числа на другое. Также используется оператор `/`, который выполняет целочисленное деление.

Задача 2: Факторизация числа

Для написания программы, которая выполняет факторизацию числа, можно использовать различные алгоритмы. Один из таких алгоритмов - это алгоритм Ферма.

Алгоритм Ферма основан на следующем утверждении: если число N является составным и имеет делитель d, то существует такое целое число a, что a^2 - N = b^2, где b = sqrt(a^2 - N). Если a - b ≠ 1 и a + b ≠ N, то a - b и a + b являются делителями числа N.

Вот пример программы на языке C++, которая реализует алгоритм Ферма:

```cpp #include #include

bool isPerfectSquare(long long number) { long long squareRoot = sqrt(number); return (squareRoot * squareRoot == number); }

void fermatFactorization(long long number) { if (number <= 1) { std::cout << "Число должно быть больше 1" << std::endl; return; }

if (isPerfectSquare(number)) { std::cout << "Число является квадратом простого числа" << std::endl; return; }

long long a = ceil(sqrt(number)); long long bSquare = a * a - number;

while (!isPerfectSquare(bSquare)) { a++; bSquare = a * a - number; }

long long factor1 = a - sqrt(bSquare); long long factor2 = a + sqrt(bSquare);

std::cout << "Факторизация числа " << number << ": " << factor1 << " * " << factor2 << std::endl; }

int main() { long long number; std::cout << "Введите число: "; std::cin >> number;

fermatFactorization(number);

return 0; } ```

Эта программа сначала запрашивает у пользователя число, а затем выполняет факторизацию числа с помощью функции `fermatFactorization`. Внутри функции используется алгоритм Ферма для поиска делителей числа. Если число является квадратом простого числа, выводится сообщение "Число является квадратом простого числа". В противном случае выводится факторизация числа в формате "Факторизация числа N: factor1 * factor2".

Примечание: В коде используется функция `sqrt`, которая вычисляет квадратный корень числа. Также используется функция `ceil`, которая округляет число вверх до ближайшего целого значения.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос