Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2022, 23:02   #1
Rusikfsk
 
Регистрация: 26.11.2022
Сообщений: 7
По умолчанию помогите пожалуйста разобраться с задачей C++

надо решить с помощью цикла while

Задаётся число n. Затем суммируются степени числа 2. После какого по счёту числа сумма превысит n.
входные данные
1
выходные данные
2

входные данные
27
выходные данные
5

#include <iostream>
#include <math.h>
using namespace std;
int main() {
int n, a = 2, s = 0, i = 0;
int b = pow(2, s);
cin >> n;

while (s <= n ) {
i++;

n = i+ b;

}
cout << i ;
}
Rusikfsk вне форума Ответить с цитированием
Старый 27.11.2022, 02:31   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Степени числа 2 на каждом шаге цикла можно получить так:
Код:
i += i; // i инициализируете в 1 = 2 ^ 0
С остальным вы вроде бы сами уже справились.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с задачей на VB, пожалуйста! EKvu Помощь студентам 0 06.05.2022 11:10
помогите разобраться с задачей envi C# (си шарп) 0 18.04.2017 00:59
помогите с задачей разобраться r3krut Паскаль, Turbo Pascal, PascalABC.NET 1 16.12.2007 15:43