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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.85
Serezha
24 / 20 / 1
Регистрация: 29.11.2012
Сообщений: 431
Записей в блоге: 1
#1

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

24.01.2013, 20:37. Просмотров 3294. Ответов 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
Спасибо всем кто поможет!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2013, 20:37     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2
Посмотрите здесь:
C++ Напишите программу, которая выводит все простые числа, которые являются палиндромами
C++ Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000
C++ Создать программу, которая выводит на экран простые числа в диапазоне от 2 до 1000
C++ Функция, которая для чисел от 0 до n выводит все числа, которые в двоичной записи являются палиндромами
C++ Написать программу, которая выводит в консоль все числа, кратные 3 в диапазоне от 0 до 100
C++ Написать программу, которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их
C++ Нужно написать программу которая выводит все простые числа с четным суммой цифр в диапазоне от K до N
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
miriganua
131 / 102 / 4
Регистрация: 05.02.2012
Сообщений: 241
24.01.2013, 21:27     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #2
Возводи 2 последовательно в степени 0, 1, 2, 3, 4 ... в цикле, а условием прекращения цкла буде, когда 2 в какой-то степени больше n

Добавлено через 2 минуты
Вот так:
C++
1
2
3
4
for (int i = 0; pow(2.0, i) <= n; i++)
{
     cout <<  pow(2.0, i) << "  ";
}
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,751
24.01.2013, 21:33     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <set>
 
int main()
{
    int n;
    std::set<int> s;
    std::cin >> n;
    for (int i=1; i <= n; i <<= 1)
        s.insert(i);
    for (int i=1; i <= n; i++)
        if (s.find(i) == s.end())
            std::cout << i << " ";
}
Serezha
24 / 20 / 1
Регистрация: 29.11.2012
Сообщений: 431
Записей в блоге: 1
24.01.2013, 23:17  [ТС]     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #4
Цитата Сообщение от miriganua Посмотреть сообщение
C++
1
2
3
4
for (int i = 0; pow(2.0, i) <= n; i++)
{
     cout << *pow(2.0, i) << " *";
}
- к сожалению не работает в данном случае!

Добавлено через 4 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <set>
int main()
{
    int n;
    std::set<int> s;
    std::cin >> n;
    for (int i=1; i <= n; i <<= 1)
        s.insert(i);
    for (int i=1; i <= n; i++)
        if (s.find(i) == s.end())
            std::cout << i << " ";
}
-выбивает ошибку! Может я что то не так делаю??
Запускаю через borlan c++
miriganua
131 / 102 / 4
Регистрация: 05.02.2012
Сообщений: 241
24.01.2013, 23:26     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #5
А почему не работает, неправильный ответ?
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
24.01.2013, 23:27     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #6
Цитата Сообщение от Serezha Посмотреть сообщение
к сожалению не работает в данном случае!
для pow надо math.h подключать
но все можно сделать проще
каждый раз возводим в степень
C++
1
2
for(int i=0; (1<<i)<n;i++)
   cout <<(1<<i)<< "  ";
домножаем число на 2
C++
1
2
for(i=1; i<n;i*=2)
     cout <<i<< "  ";
то же но со сдвигом
C++
1
2
for(i=1; i<n;i= i<<1)
     cout <<i<< "  ";
сдвиг влево << на одну позицию это умножение на 2
(1<<i) а это выдаст i степень двойки
miriganua
131 / 102 / 4
Регистрация: 05.02.2012
Сообщений: 241
24.01.2013, 23:28     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #7
Точно, можно без функции)))
Serezha
24 / 20 / 1
Регистрация: 29.11.2012
Сообщений: 431
Записей в блоге: 1
24.01.2013, 23:30  [ТС]     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #8
Цитата Сообщение от miriganua Посмотреть сообщение
А почему не работает, неправильный ответ?
-нет вообще не запускается!
Выбивает ошибку в синтаксисе!
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
24.01.2013, 23:32     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #9
Цитата Сообщение от Serezha Посмотреть сообщение
Выбивает ошибку в синтаксисе!
Цитата Сообщение от ValeryS Посмотреть сообщение
для pow надо math.h подключать
в начале программы
C++
1
#include <math.h>
Serezha
24 / 20 / 1
Регистрация: 29.11.2012
Сообщений: 431
Записей в блоге: 1
24.01.2013, 23:35  [ТС]     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #10
Цитата Сообщение от ValeryS Посмотреть сообщение
C++
1
2
for(i=1; i<n;i= i<<1)
     cout <<i<< " *";
выбивает-Undefined symbol 'i'-из-за чего???

Добавлено через 46 секунд
Вот так сделал:

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(i=1; i<n;i= i<<1)
     cout <<1<<i<< "  ";
}
else cout<<"Nepravilno zadani m i n ";
    getch();
    return 0;
}
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
24.01.2013, 23:38     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #11
Цитата Сообщение от Serezha Посмотреть сообщение
выбивает-Undefined symbol 'i'-из-за чего???
из за того что 'i' необъявлен (мой косяк)
или так
C++
1
for(int i=1; i<n;i= i<<1)
или так
C++
1
2
int i;
for(i=1; i<n;i= i<<1)
Добавлено через 1 минуту
Цитата Сообщение от Serezha Посмотреть сообщение
else cout<<"Nepravilno zadani m i n ";
а m тебе зачем ?? все равно не используешь
LiveRos
62 / 67 / 1
Регистрация: 05.10.2012
Сообщений: 240
24.01.2013, 23:42     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #12
Я что-то не понял задания, этого Вы хотите добиться?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    double i;
    double n=2;
      for(i=1;i<10;i++)
    {
        cout<< pow(i,n);
        cout<<"\n";
    }
}
Добавлено через 2 минуты
Цитата Сообщение от Serezha Посмотреть сообщение
я так понял вводится число n и оно должно умножиться на себя или нет???
Вы и сами не поняли чего хотите, если квадрат "самого себя" то переменную n в цыкле сменить на і. Тобишь
C++
1
cout<< pow(i,і);
Serezha
24 / 20 / 1
Регистрация: 29.11.2012
Сообщений: 431
Записей в блоге: 1
24.01.2013, 23:45  [ТС]     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #13
Цитата Сообщение от ValeryS Посмотреть сообщение
а m тебе зачем ?? все равно не используешь
-я уже все стал оставлять вдруг что не так!!!

Добавлено через 2 минуты
Цитата Сообщение от LiveRos Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    double i;
    double n=2;
      for(i=1;i<10;i++)
    {
        cout<< pow(i,n);
        cout<<"\n";
    }
}
Я хочу добиться
чтоб ответ был таким:
ответ должен быть по идее n=13
1.2.4.8.
n=-56
takinetx chisel
Спасибо всем кто поможет!!
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,733
24.01.2013, 23:49     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #14
Цитата Сообщение от LiveRos Посмотреть сообщение
ы и сами не поняли чего хотите, если квадрат "самого себя" то переменную n в цыкле сменить на і. Тобишь
это точно квадраты самого себя?
Цитата Сообщение от LiveRos Посмотреть сообщение
cout<< pow(i,і);
1^1
2^2
3^3
4^4

с i*і не попутал ? или pow(i,2)

Добавлено через 2 минуты
Цитата Сообщение от Serezha Посмотреть сообщение
Я хочу добиться
чтоб ответ был таким:
ответ должен быть по идее n=13
Я тебе ТРИ варианта кинул плюс miriganua, еще один
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2013, 23:56     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2
Еще ссылки по теме:
C++ Написать программу,которая генерирует последовательность из 10 случайных чисел в диапазоне от 1 до 10, выводит эти числа на экран и вычисляет их средн
составить программу, которая выводит на экран в строку числа от 1 до 10 и подсчитывает их сумму? C++
C++ Даны натуральные числа N, K, L (K<L). Вывести на экран все делители числа N, которые меньше K или больше L
Получить все меньшие 100 натуральные числа,которые являются палиндромами C++
Написать программу которая из 3 целых чисел выводит на экран те, которые являются четными C++

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

Или воспользуйтесь поиском по форуму:
Serezha
24 / 20 / 1
Регистрация: 29.11.2012
Сообщений: 431
Записей в блоге: 1
24.01.2013, 23:56  [ТС]     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 #15
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=1; i<n;i= i<<1)
cout <<1<<i<< " ";
}
else cout<<"Nepravilno zadani m i n ";
getch();
return 0;
}
Вот мой код,как только избавляюсь от m все не работает,а с m работает но
vvedeno m 1
vvedeno n 13
ответ -11 12 14 18
Yandex
Объявления
24.01.2013, 23:56     Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru