Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/50: Рейтинг темы: голосов - 50, средняя оценка - 4.80
24 / 20 / 3
Регистрация: 29.11.2012
Сообщений: 454
Записей в блоге: 1

Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2

24.01.2013, 20:37. Показов 10697. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составил задачу которая только увеличивает на один ну тое сть выводит:1,2,3,4,...n
Пытаюсь изменить чтоб выводило квадрат и тут ......................почему не получается,я так понял вводится число n и оно должно умножиться на себя или нет???

Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio>
 
int main()
{
int m,n;
cout<<"Vvedite m"<<'\n';
cin>>m;
cout<<"Vvedite n"<<'\n';
cin>>n;
if (m<n)
{
for (int i=m; i<=n;i++)    /* по идее в цикле нужно изменять но ничего не получается*/
cout<<i<<" ";
}
else cout<<"takinetx chisel ";
    getch();
    return 0;
}
ответ должен быть по идее n=13
1.2.4.8.
n=-56
takinetx chisel
Спасибо всем кто поможет!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2013, 20:37
Ответы с готовыми решениями:

Напишите программу, которая вводит натуральные числа a и b и выводит все простые числа в диапазоне от a до b
Напишите программу, которая вводит натуральные числа a и b и выводит все простые числа в диапазоне от a до b . Входные данные ...

Составить программу, которая находит с выводит на экран все простые числа в диапазоне [3; n]
Дано натуральное число n &gt; 3. Составить программу, которая находит с выводит на экран все простые числа в диапазоне .

Составить программу, которая находит и выводит на экран все двузначные натуральные числа, равные утроенному произведению
Помогите,пожалуйста, написать программу Реализовать алгоритм на С#, используя цикл с заданным числом повторений (оператор for) и с...

32
24 / 20 / 3
Регистрация: 29.11.2012
Сообщений: 454
Записей в блоге: 1
25.01.2013, 00:46  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от ValeryS Посмотреть сообщение
Код C++
1
cout <<i<< " ";
перед числом
Код C++
1
cout << " "<<i
Блин точно спасибо!!

Добавлено через 5 минут
Полностью провельный код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <conio>
 
int main()
{
int n,i;
cout<<"Vvedite n"<<'\n';
cin>>n;
if (i<n)
{
for(int i=1; i<n;i= i<<1)
cout <<" "<<i<< " ";
}
else cout<<"Takix chisel net ";
getch();
return 0;
}
Спасибо всем за принятое участие! А я буду учиться
0
62 / 67 / 2
Регистрация: 05.10.2012
Сообщений: 240
25.01.2013, 00:50
Ну и что это? У меня не работает, результат то какой?
Как работает оператор if (i<n), если только в теле цыкла for узнаем значение переменной і.
0
24 / 20 / 3
Регистрация: 29.11.2012
Сообщений: 454
Записей в блоге: 1
25.01.2013, 00:52  [ТС]
Цитата Сообщение от LiveRos Посмотреть сообщение
Код C++
1
2
3
4
cin>>n;
*if (i<n)
*{
*for(int i=1; i<n;i= i<<1)
А это чтоб если ввести число с минусом то выбьет инфу Takix chisel net !!!
0
62 / 67 / 2
Регистрация: 05.10.2012
Сообщений: 240
25.01.2013, 00:55
и я не силен в математике но где тут степень?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2013, 01:00
LiveRos, i= i<<1 (i <<= 1 как в моем примере) побитовый сдвиг и осуществляет возведение во 2 степень.
0
62 / 67 / 2
Регистрация: 05.10.2012
Сообщений: 240
25.01.2013, 01:10
Запутался, выкиньте пожалуйста что ввели и результат.
Я переделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
 int n,i=1;
 cout<<"Vvedite n"<<'\n';
 cin>>n;
 if (i<n)
    {
    for(; i<n;i= i<<1)
        cout <<" "<<i<< " ";
    }
    else cout<<"Takix chisel net ";
 return 0;
}
Ибо, как я уже описал выше, код Serezha у меня не работает.
Ввожу значение n=56
Программа выдала 1 2 4 8 16 32
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2013, 01:13
LiveRos, у вас выдало степени двойки. Их надо куда то записать, а потом в цикле, проходя от 1 до n сверять с этими данными, и, если не совпадают, то выводить на экран.
0
24 / 20 / 3
Регистрация: 29.11.2012
Сообщений: 454
Записей в блоге: 1
25.01.2013, 01:34  [ТС]
Прочтите задание у меня дана задача: Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2. вот она и выводит!!!
0
62 / 67 / 2
Регистрация: 05.10.2012
Сообщений: 240
25.01.2013, 02:09
протупил с заданием
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
 int n,x;
 cout<<"Vvedite x=";
 cin>>x;
 if(x>1)
    {
    for(int i=1;i<=x;i++)
        {
            n=pow(2,i);
            cout<<n<<'\n';
        }
    }
    else cout<<"NO!";
    return 0;
}
Так пойдет? Без побитовых сдвигов.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
25.01.2013, 06:54
Цитата Сообщение от LiveRos Посмотреть сообщение
Без побитовых сдвигов.
Чем это сдвиги то тебе не угодили? пользоваться не умеешь
Цитата Сообщение от LiveRos Посмотреть сообщение
n=pow(2,i);
тему перечитай этот способ уже предложил miriganua
подумай какие есть у него недостатки?
плюс я еще три два со сдвигом, один с домножением

Serezha, принцип "Бритва Оккамы" знаешь?
"Не плодите сущности без необходимости" другими словами проще надо
зачем ты проверяешь какую то i ?? если для проверки отрицательных тебе нужно проверить больше нуля число или
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
нет
#include <iostream>
#include <conio>
 
int main()
{
int n;
cout<<"Vvedite n"<<'\n';
cin>>n;
if (n>0)
 {
  for(int i=1; i<=n;i= i<<1)
  cout <<" "<<i<< " ";
 }
else 
 cout<<"Takix chisel net ";
getch();
return 0;
}
Добавлено через 27 минут
LiveRos,
у тебя кстати алгоритмическая ошибка

Цитата Сообщение от LiveRos Посмотреть сообщение
for(int i=1;i<=x;i++)
* * * * {
* * * * * * n=pow(2,i);
* * * * * * cout<<n<<'\n';
* * * * }
если введешь 9 то напечатает 2 4 8 16 32 64 128 256 512
вместо
2 4 8
0
73 / 73 / 13
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
25.01.2013, 08:55
можно написать так:
C++
1
for( int x = 1; x <= n; x*=2 ) cout<<x<<" ";
или так:
C++
1
for( int x = 1; x <= n; x = x<<1 ) cout<<x<<" ";
нормальный компилятор умножение на константу - степень двойки выполнит с помощью shl т.е. в обоих случаях мы получим что-то вроде:
Code
1
2
mov eax,dword ptr [x]
shl eax,1
поэтому пишите как вам понятнее x = x * 2, x *= 2, x = x << 1, x <<= 1 нормальный компилятор сгенерирует одинаковый код
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
25.01.2013, 09:14
Цитата Сообщение от ValeryS Посмотреть сообщение
если введешь 9 то напечатает 2 4 8 16 32 64 128 256 512
вместо
2 4 8
точнее вместо 1 2 4 8.
Пропускается 0 степень.
0
25.01.2013, 11:50

Не по теме:

ValeryS? не грузитесь, я не читал варианты решения задачи описанные выше, так как сам только изучаю плюсы решил выбрать какую-нибудь задачу из форума, дабы не плодить темы типа "Дайте задания чайнику".
Как новичок я ничего не знаю о "побитовых сдвигах", видимо не дочитал еще до этого раздела, либо там его вообще нет.
Насчет того что в моем решении пропускается 0-я степень - этого я не учел, а с отрицательными числами мой компиль вообще не хочет работать.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.01.2013, 11:50

Составить программу, которая выводит все простые натуральные числа.
Составить программу, которая выводит все простые натуральные числа из заданного интервала . Простые числа не имеют других делителей, кроме...

Напишите программу, которая выводит все простые числа, которые являются палиндромами
Напишите программу, которая выводит все простые числа, которые являются палиндромами

Даны натуральные числа K и N. Составить программу формирования массива А, элементами которого являются числа, сумма цифр которых равна К и которые не
Практика ОАиП

Даны натуральные числа К и N. Составить программу формирования массива A, элементами которого являются числа, сумма цифр которых равна K и которые не
вот собственно задача: Даны натуральные числа К и N. Составить программу формирования массива A, элементами которого являются числа,...

Составить программу которая выводит все числа в интервале от 1 до 50 которые делятся на 3. Перевод с С++
#include &lt;stdio.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() { int a,i,b; for(i=1;i&lt;=50;i++) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru