
Язык C++ Визначити чи є задане число n степіню числа 3.


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

#include <iostream>
using namespace std;
int main() {
int n, t;
bool f;
cin >> n;
t = n;
f = (n == 1);
while ((n > 3) && !(n % 3)) {
n /= 3;
f = f || (n == 3);
}
if (f) {
cout << "Число " << t << " является степенью числа 3";
return 0;
}
cout << "Число " << t << " НЕ является степенью числа 3";
return 0;
}



Для визначення того, є чи не є задане число n степенем числа 3, можна скористатися наступним підходом:
- Перевірити, чи є число n додатним.
- Поки число n ділиться на 3, ділити його на 3.
- Перевірити, чи отримане число дорівнює 1. Якщо так, то задане число є степенем числа 3.
Ось приклад коду на мові C++, який реалізує цей підхід:
cpp#include <iostream>
using namespace std;
bool isPowerOfThree(int n) {
if (n <= 0) {
return false; // Вихід, якщо число менше або дорівнює 0
}
while (n % 3 == 0) {
n /= 3; // Ділимо число на 3, поки воно ділиться на 3
}
return n == 1; // Перевіряємо, чи залишилось 1
}
int main() {
int n;
cout << "Enter a number: ";
cin >> n;
if (isPowerOfThree(n)) {
cout << n << " is a power of 3." << endl;
} else {
cout << n << " is not a power of 3." << endl;
}
return 0;
}
У цьому коді функція isPowerOfThree
приймає число n
і повертає true
, якщо n
є степенем числа 3, або false
в іншому випадку. Функція спочатку перевіряє, чи є n
додатним, і повертає false
, якщо воно не є. Потім функція ділить n
на 3, поки воно ділиться на 3, і повертає false
, якщо n
не є степенем числа 3. Якщо ж n
дорівнює 1, то функція повертає true
.
У функції main
користувач вводить число n
, після чого викликається функція isPowerOfThree
для перевірки, чи є n
степенем числа 3. Результат перевірки виводиться на екран.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili