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

Циклы WHILE, DO-WHILE. - C++

Восстановить пароль Регистрация
 
immashine
Сообщений: n/a
13.11.2011, 22:16     Циклы WHILE, DO-WHILE. #1
Привет всем.
В течении 3ёх часов нужно сдать работу, ни черта не получается, ибо полнейший чайник в программировании
Может кто уделит минутку, и поможет?


Задание:
Вводится целое число. Определить, является ли оно степенью двойки. Используя операторы цикла while или do-while в C++

Спасибо всем
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2011, 22:16     Циклы WHILE, DO-WHILE.
Посмотрите здесь:

Циклы C++
C++ циклы
C++ Циклы на С
Циклы C++
C++ циклы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
13.11.2011, 22:30     Циклы WHILE, DO-WHILE. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    unsigned int n;
    cin >> n;
    unsigned int i = 1;
    unsigned int limit = ~0;
    bool y = 0;
    while(i-1 < limit)
    {
        if(i == n)
        {
            y = 1;
            break;
        }
        i *= 2;
    }
    cout << (y ? "yes" : "no") << endl;
    return 0;
}
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
13.11.2011, 22:33     Циклы WHILE, DO-WHILE. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
using namespace std;
 
int main()
{       
    int n; 
    bool re=true;
    cout<<"N=";
    cin>>n;
    while(n>=2)
    {
        if(n%2) { re=false; break; }
        n/=2;
    }
    if(re && n>0) cout<<"Yes"<<endl;
    else          cout<<"No"<<endl;   
    system("pause");      
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int main()
{       
    int n; 
    bool re=true;
    cout<<"N=";
    cin>>n;
    do
    {
        if(n%2) { re=false; break; }
        n/=2;
    }
    while(n>=2);
    if(re) cout<<"Yes"<<endl;
    else   cout<<"No"<<endl;   
    system("pause");      
    return 0;
}
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
13.11.2011, 22:35     Циклы WHILE, DO-WHILE. #4
исчооо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    unsigned int n;
    cout << "Enter n: ";
    cin >> n;
    bool y = 1;
    while(n != 1)
    {
        if(n%2)
        {
            y = 0;
            break;
        }
        n /= 2;
    }
    cout << (y ? "yes" : "no");
    return 0;
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
13.11.2011, 22:41     Циклы WHILE, DO-WHILE. #5
Совсем без циклов (для натуральных чисел):
C++
1
2
3
4
int deg_of_2(long a)
{
   return !(a & (a - 1));
}
Yandex
Объявления
13.11.2011, 22:41     Циклы WHILE, DO-WHILE.
Ответ Создать тему
Опции темы

Текущее время: 01:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru