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

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

Войти
Регистрация
Восстановить пароль
 
 
maxim12345
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
#1

Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи - C++

18.10.2013, 17:35. Просмотров 786. Ответов 26
Метки нет (Все метки)

Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи. Использовать s - прибавление 1, =, <, +, -, *, : - целочисленное деление, % - остаток от деления. Помогите, пожалуйста, написать эту программу на си++ с использованием только вот этих операций и, наверное, только библиотеки stdio.h
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 17:35     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи
Посмотрите здесь:
C++ Найти сколько чисел на отрезке [x;y] начинаются с цифры 8 в шестнадцатеричной записи.
C++ Найти сколько чисел на отрезке x; y начинаются с цифры 8 в шестнадцатеричной записи
Найти сколько чисел на отрезке [x;y] начинаются с цифры 8 в шестнадцатеричной записи C++
В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5 C++
C++ создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват
найти количество чисел на отрезке которые нацело делятся на x, и содержат цифры только из набора S C++
C++ Даны два натуральных числа. Определить сколько чисел на отрезке между ними являются факториалами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
18.10.2013, 18:52     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #16
Цитата Сообщение от Folko Посмотреть сообщение
Не привыкайте ...
И вот такое писать тоже привыкать не надо:
Цитата Сообщение от Folko Посмотреть сообщение
C++
1
2
if (numb == 8) return true;
else return false;


Цитата Сообщение от maxim12345 Посмотреть сообщение
а можете тем не менее написать ее наподобие проги, что я скинул, пожалуйста?
Так и написано.

Цитата Сообщение от maxim12345 Посмотреть сообщение
я не понимаю, что такое res, unsigned... сори за тупость((
unsigned - это тот же int, только беззнаковый.
res - имя переменной.
maxim12345
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 19:01  [ТС]     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #17
q>>=4 а вот это что такое?
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
18.10.2013, 19:04     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #18
Цитата Сообщение от maxim12345 Посмотреть сообщение
q>>=4 а вот это что такое?
Битовый сдвиг. Я же написал, что можно заменить на q/=16.
Max Dark
шКодер самоучка
1813 / 1614 / 588
Регистрация: 09.10.2013
Сообщений: 3,618
Записей в блоге: 6
Завершенные тесты: 2
18.10.2013, 19:12     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int main(void) {
    int n1, n2, count;
    int x,y;
    scanf("%d",&x);
    scanf("%d",&y);
    count = 0;
    n1 = x/16;
    n1 = n1*16 + 8;
    n2 = (y-1)/16;
    n2 = n2*16+8;
    if(n1<x)  n1+=16;
    if(n2>=y) n2-=16;
    if(n2>=n1)
        count = (n2-n1)/16;
    printf("n1 = %d, ",n1);
    printf("n2 = %d, ",n2);
    printf("count = %d\n",count);
    return 0;
}
Решение без циклов
maxim12345
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 19:24  [ТС]     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #20
C++
1
2
3
4
5
6
7
8
9
10
Alg Add; 
arg x, y; 
u = x; 
v = 0; 
while v < y do 
u = succ(u); 
v = succ(v); 
end;
Add = u; 
end;
а можете написать эту прогу на таком языке, на котором написана вот эта? и, кстати, как вообще он называется?) succ - это прибавление 1
Max Dark
шКодер самоучка
1813 / 1614 / 588
Регистрация: 09.10.2013
Сообщений: 3,618
Записей в блоге: 6
Завершенные тесты: 2
18.10.2013, 19:27     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #21
строку 16 замените на
C++
1
       count = (n2-n1)/16 + 1;
Иначе не так считает
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
18.10.2013, 19:28     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #22
Цитата Сообщение от Cra3y Посмотреть сообщение
Решение без циклов
Неверно.
x=0x75, y=0x994 - должно быть 272, а у тебя 145.
http://codepad.org/N9R2vOv3

Добавлено через 27 секунд
Цитата Сообщение от Cra3y Посмотреть сообщение
count = (n2-n1)/16 + 1;
Всё равно неверно.
maxim12345
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 19:54  [ТС]     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #23
А можете, пожалуйста, написать эту прогу на том языке, который я скинул? Пожалуйста.

Добавлено через 11 минут
Я ее написал, так не так? если не так то как правильно? (уже на своем языке написал)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Alg P;
arg x,y;
   P=0;
    while x<y do
      k=x;
      while 16<k do
        k=k\16;
      end;
      if k%16=8 do
        i=succ(i)
      end;
    end;
   P=i;   
end;
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
18.10.2013, 20:02     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #24
Цитата Сообщение от maxim12345 Посмотреть сообщение
while 16<k do
Неверно, но на ответ не повлияет...

Цитата Сообщение от maxim12345 Посмотреть сообщение
Я ее написал, так не так?
А ты хотя бы скажи на чём это...
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
18.10.2013, 20:04     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #25
Qwertiy, я вот тоже ему такой вопрос задал... может он свой язык создал уже?!
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
18.10.2013, 20:06     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #26
Цитата Сообщение от maxim12345
этот язык мы на теоретических основа информатики изучаем, типа простой примитивный он. можешь посмотреть, так ли написана эта программа и при случае подправить ее?
Я же сказал, правдоподобно... Баги с костылями вроде на ответ не влияют.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 20:06     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи
Еще ссылки по теме:
Дерево отрезков. Поиск суммы чисел на отрезке массива. Изменение всех чисел на отрезке массива C++
C++ Преобразование записи числа в шестнадцатеричной СС в unsigned long
Найти количество чисел в отрезке [Q;S] с неповторяющимися цифрами C++
C++ Найти количество всех простых чисел на отрезке
Сформировать массив B из чисел массива A[n], в записи которых встречаются две подряд идущие одинаковые цифры C++

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

Или воспользуйтесь поиском по форуму:
maxim12345
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 20:06  [ТС]     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи #27
Это у нас в универе профессор по ходу такой язык придумал, этот язык просто примитивный якобы, на нем типа все просто писать, а скомпилировать на этом языке только в уме можно что-то, ужас в общем(( гляньте, плиз, так или не я эту прогу написал?
Yandex
Объявления
18.10.2013, 20:06     Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи
Ответ Создать тему
Опции темы

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