Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Нахождение палиндрома http://www.cyberforum.ru/cpp-beginners/thread244080.html
Написать функцию, которая определяет, является ли строка палиндромом. Заголовок функции: bool isPolindrom(const char *s); Написать программу, которая принимает от пользователя набор строк (массив строк), и выводит на экран только те строки, которые являются палиндромами
C++ Перегрузка operator<< Доброе время суток. Есть очередная задачка - перегрузить оператор вывода таким образом: Есть три объекта разных классов - А а, В в, С с; Нужно, чтобы при записи а << b << c; изменялось значение некоторых членов всех трех классов, ну грубо говоря, пусть там есть по одному члену типа float и пусть при такой записи вывода произойдет нечто вроде b.f+=0.2*c.f; a.f+=0.8*c.f; 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); mciSendString("Set cdaudio door closed 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* pBuffer=(char*)VirtualAlloc(NULL,buf_size,MEM_COMMIT,PAGE_READWRITE); ReadFile(hFile, pBuffer, dwSize, &dwRead, NULL); CString ptr2 = reinterpret_cast<LPCWSTR>(pBuffer); MessageBox(ptr2) подробнее

Показать сообщение отдельно
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
17.02.2011, 15:07     Определить является ли число к степенью 3
возможна погрешность
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
bool foo (int n)
{
    float r = log((float)n) / log(3.0);
    return floor(r + 0.5) == r ? true : false;
}
 
int main()
{
    // positive test
    for (int i = 0, n = 3; i < 6; ++i, n *= 3) {
        std::cout << std::setw(3) << n << " | " << foo(n) << std::endl;
    }
 
    // negative
    for (int i = 0, n = 2; i < 6; ++i, n *= 2) {
        std::cout << std::setw(3) << n << " | " << foo(n) << std::endl;
    }
 
    return 0;
}
3 | 1
9 | 1
27 | 1
81 | 1
243 | 1
729 | 1
2 | 0
4 | 0
8 | 0
16 | 0
32 | 0
64 | 0
 
Текущее время: 19:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru