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

Найти все целые числа из диапазона - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти сумму целых 2-значных положительных чисел меньше 200 http://www.cyberforum.ru/cpp-beginners/thread818543.html
Разработка алгоритма с использованием оператора do/while, while 2. Найти сумму целых 2-значных положительных чисел меньше 200. Оригинал задания: 2.Знайти суми цілих 2-значних додатніх чисел менше 200.
C++ Сформировать новый массив Здраствуйте)Помогите написать вот такую вот програмку: Сформируйте массив, в котором будут только те элементы исходного массива,которые заканчиваются на к( к вводит юзер) есть такие вот наброски, только выводит нули, условие вроде бы правильное: #include <iostream> #include <time.h> #include <Windows.h> #include <math.h> #include <stdlib.h> using namespace std; void Random (int* p,... http://www.cyberforum.ru/cpp-beginners/thread818542.html
В двумерном массиве для каждого столбца подситать количество элементов с нечетной целой частью C++
В двумерном массиве для каждого столбца подситать количество элементов с нечетной целой частью
C++ Написать функцию для вычисления тангенса
добрый вечер Написать функцию для вычисления тангенса. найти tg(0,9), tg(0,1), tg(-0,9), воспользовавшись формулой Y=sin(x)/cos(x) спасибо!
C++ определить является ли строка правильным идентификатором http://www.cyberforum.ru/cpp-beginners/thread818525.html
Решить с помощью функций для работы с С-строками. Определить является ли строка правильным идентификатором
C++ С экрана вводятся любые буквы. Подсчитать и вывести на печать количество вводов буквы А Разработка алгоритма с использованием оператора do/while, while 1. С экрана вводятся любые буквы. Подсчитать и вывести на печать количество вводов буквы А. Оригинал задания: 1.З екрану вводяться будь-які літери. Підрахувати та вивести на друк кількість введень літери А. подробнее

Показать сообщение отдельно
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
26.03.2013, 18:33     Найти все целые числа из диапазона
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void main()
{
    for(int num=0; num<255; num++)
    {
        unsigned char half = num, half2 = num;      //half - первые четыре бита (64-256), half2 - вторые
        half ^= (half<<4);
        half2 = num>>4;
        if(half2 == half || half2 == (unsigned char)~half)
        {
            printf("%i ", num, num);
            for(int i=0; i<8; i++) printf("%i", (num>>i)&1);
            printf("\n");
        }
    }
    system("pause");
}
Добавлено через 6 минут
То есть вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void main()
{
    for(int num=0; num<255; num++)
    {
        unsigned char half = num, half2 = num;      //half - первые четыре бита (64-256), half2 - вторые
        half ^= (half<<4);
        half2 = num>>4;
        int countone = 0;
        for(int i=0; i<4; i++) if((half>>i)&1 == 1) countone++;
        if((half2 == half || half2 == (unsigned char)~half) && countone % 2 == 0)
        {
            printf("%i ", num, num);
            for(int i=0; i<8; i++) printf("%i", (num>>i)&1);
            printf("\n");
        }
        countone = 0;
    }
    system("pause");
}
 
Текущее время: 16:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru