Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
17.02.2011, 01:14 0

Определить является ли число к степенью 3

17.02.2011, 01:14. Просмотров 3688. Ответов 12
Метки (Все метки)

Ответ

Извратился, чтобы и для отрицательных работало))) Плюс поправил название функции и выводимое сообщение, а то проверяю одно, а пишу другое)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
 
bool is_power_of_three(int);
 
int main()
{
    int num;
 
    std::cout << "Enter number: ";
    std::cin >> num;
 
    std::cout << "Number is ";
 
    if (!is_power_of_three(num))
        std::cout << "not ";
    
    std::cout << "a power of three" << std::endl;
    
    return 0;
}
 
bool is_power_of_three(int num)
{
    const int q = 3;
    int n = 1;
    int count;
 
    for (count = 0; n < (num > 0 ? num : -num); ++count)
        n *= q;
 
    return count % 2 == 0 ? n == num : (n == num || -n == num);
}


Вернуться к обсуждению:
Определить является ли число к степенью 3
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2011, 01:14
Готовые ответы и решения:

Определить является ли число k степенью 3
Определить является ли число k степенью 3. Помогите решить...

Определить, является ли число степенью двойки
По заданному положительному числу n &lt; 2^64 определить, является ли оно степенью...

Определить, является ли число степенью двойки
Такая проблема: в проге мне нужно задать количество чисел которые я введу (т.е...

Определить, является ли данное число степенью двойки
Является ли данное число степенью двойки? Формат входных данных Вводится...

Определить, является ли число целой степенью двойки
Задано целое положительное число.Определить, является ли оно целой степенью...

12
Другие темы раздела
C++ Нахождение палиндрома http://www.cyberforum.ru/cpp-beginners/thread244080.html
Написать функцию, которая определяет, является ли строка палиндромом. Заголовок функции: bool isPolindrom(const char *s); Написать программу, которая принимает от пользователя набор строк (массив...
C++ Перегрузка operator<< Доброе время суток. Есть очередная задачка - перегрузить оператор вывода таким образом: Есть три объекта разных классов - А а, В в, С с; Нужно, чтобы при записи а << b << c; изменялось... http://www.cyberforum.ru/cpp-beginners/thread244075.html
C++ Открытие и Закрытие дисковода.
Вот такой у меня код #pragma comment(lib,"winmm.lib") #include <iostream> #include <mmsystem.h> using namespace std; int main () { mciSendString("Set cdaudio door open wait", NULL, 0, NULL);...
C++ Найти максимальный четный элемент массива
Здравствуйте! Если вам не сложно - напишите пожалуйста программу для нахождения максимального четного элемента массива на Си.
C++ освоение основ http://www.cyberforum.ru/cpp-beginners/thread244063.html
я учусь на инженера программного обеспечения на втором курсе. Нам дают всего по чу-чуть, возникла нужда в самообразовании. Как я выяснил для себя, я плохо знаю основы и самому трудно написать...
C++ MessageBox выводит китайские(японские) иероглифы DWORD dwRead = 0; DWORD buf_size = 4096; DWORD dwSize = GetFileSize(hFile, NULL); char*... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru