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

Сколько цифр в числе степени двойки? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обработка массивов http://www.cyberforum.ru/cpp-beginners/thread617782.html
помогите пожалуйста разобраться с кодом(прокомментировать), или помогите написать код ,но проще) сложно разобраться в некоментированной программе!!! Обработка массивов Задание: Дана строка символов. Признак конца строки – символ ‘\n’ (перевод строки). Строка состоит из слов, разделенных пробелами. Вывести слова, заканчивающиеся слогом ‘qw’, и длину каждого из этих слов. Исходный код: ...
C++ Составить алгоритм и программу длля поиска в массиве целых чисел из 5 элементов минимального числа. Составить алгоритм и программу длля поиска в массиве целых чисел из 5 элементов минимального числа. http://www.cyberforum.ru/cpp-beginners/thread617775.html
C++ Вычислить вектор a={A1,A2...An}, если А1=0,5 Аm=M аm-1+m!
Вычислить вектор a={A1,A2...An}, если А1=0,5 Аm=M аm-1+m!
Вычислить количество чисел, квадрат которых меньше 10 C++
Вычеслить количество чисел, квадрат которых меньше 10
C++ Ввести массив из 10 элементов, найти произведение элементов массива. http://www.cyberforum.ru/cpp-beginners/thread617770.html
Ввести массив из 10 элементов, найти произведение элементов массива.
C++ На плоскости задано множество прямых. Найти количество пересечений этих прямых На плоскости задано множество прямых. Найти количество пересечений этих прямых плиз помогиите с решением!! подробнее

Показать сообщение отдельно
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
02.07.2012, 14:31     Сколько цифр в числе степени двойки?
Вот. Проверяйте. Обошлись без логарифмов...

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
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "iostream.h"
 
int SizePow2(int n)
{
    int S=1,k=0,m=4,i,c; 
 
    for (i=0; i <= n; i++)
    {
         k++;
                         
         if ((k % m) == 0) 
         {
                
             k = 0;
 
             if (i != n) S++;
             
             if (m == 4) 
             {
                m = 3;
                c = 0;
             } 
             else
             {
                c++;
                if (c == 2) m=4;
             }
         }
    }
         
    return S;
 
}
 
 
int main(int argc, char* argv[])
{
    int n;
     
    cin >> n;
 
    cout << SizePow2(n) << endl;
 
    return 0;
}
 
Текущее время: 02:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru