Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
1

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

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

Author24 — интернет-сервис помощи студентам
Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи. Использовать s - прибавление 1, =, <, +, -, *, : - целочисленное деление, % - остаток от деления. Помогите, пожалуйста, написать эту программу на си++ с использованием только вот этих операций и, наверное, только библиотеки stdio.h
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 17:35
Ответы с готовыми решениями:

Найти сколько чисел на отрезке [x;y] начинаются с цифры 8 в шестнадцатеричной записи.
Написать программу метками. Найти сколько чисел на отрезке начинаются с цифры 8 в...

Найти сколько чисел на отрезке [x;y] начинаются с цифры 8 в шестнадцатеричной записи
Написать программу метками. Найти сколько чисел на отрезке начинаются с цифры 8 в...

Найти сколько чисел на отрезке x; y начинаются с цифры 8 в шестнадцатеричной записи
Ребят, у меня вопрос! зависит ли от того, в какой системе первоначально даны х и у найти сколько...

Найти, сколько чисел меньших X имеют в своей десятичной записи только цифры 0 и 1
Помогите,мучаюсь 5 день.Найти ,сколько чисел меньших X (икс) имеют в своей десятичной записи только...

26
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
18.10.2013, 17:38 2
maxim12345, а вы ее сами решить пробовали?
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 17:58  [ТС] 3
Пробовал. Вообще мне надо ее написать другим языком - примитивным. Идеи, как писать, есть (но очень абстрактые). Да и не могу ж я проверить, правильно ли написал на этом языке, а тут хоть на си++ компилятор проверит, а я потом как-нибудь переведу на этот язык.

Добавлено через 15 минут
Можете помочь? пускай даже для десятичной записи
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
18.10.2013, 18:04 4
maxim12345, напишу набросок)

Добавлено через 4 минуты
maxim12345,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool good (int numb)
{
    while (numb >= 16)
        numb = numb / 16;
    if (numb == 8) return true;
    else return false;
}
 
int main ()
{
    int a[100];
    for (int i=0;i<100;i++)
    {
        if (good(a[i])) cout << "Число удовлетворяет условию" << endl;
    }
    return 0;   
}
Могу жестко ошибиться по поводу проверки числа)
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 18:10  [ТС] 5
А можно как-нибудь только используя указанные операции, ибо только учусь, не понимаю этого еще(( ну там sacanf, printf, присваивания циклы с for...
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
18.10.2013, 18:15 6
maxim12345, а как вы предлагаете работать без циклов? Я такого способа не вижу. Тем более что х и у задаются в самой программе
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 18:22  [ТС] 7
Нет, я точно знаю, что должно быть 2 цикла (препод сказал) их надо сделать чтобы это были циклы for (...) т.к. пока мы знаем только такие циклы, можете так написать?
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
18.10.2013, 18:30 8
maxim12345, омг) попробуйте так

C++
1
2
3
4
5
6
7
bool good (int numb)
{
    for (;numb >= 16;)
        numb = numb / 16;
    if (numb == 8) return true;
    else return false;
}
а лучше используйте как выше, сдавайте преподу. Препод скажет: фаг, откуда ты про while знаешь? А ты скажешь: я мужик, я загуглил. И он уважать тебя начнет сразу. Вот так)
1
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
18.10.2013, 18:36 9
maxim12345, а это переписать на Си++ не судьба?

Javascript
1
2
3
4
5
6
7
8
var x=0x75, y=0x994, res=0, q;
 
for(; x<y; ++x) {
  for(q=x; q>=16; q>>>=4);
  res += q===8;
}
 
console.log(res);
C++
1
2
3
4
5
6
7
8
unsigned x=0x75, y=0x994, res=0, q;
 
for(; x<y; ++x) {
  for(q=x; q>=16; q>>=4);
  res += q==8;
}
 
printf("%u\n", res);
Битовый сдвиг на 4 можно заменить делением на 16 в си:
C++
1
2
  for(q=x; q>=16; q>>=4);
  for(q=x; q>=16; q/=16);
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 18:38  [ТС] 10
ахаха, ну так то да, но тем не менее, можно сделать ее без булей этих (я даже не знаю, что это) просто сделать типа как вот эта программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main(int argc, char** argv)
{ int x=0;
    int k=1;
    scanf("%d",&x);
    for(int i=2;i<x && k==1;i=i+1)
 
       {
        if (x%i==0)
        {
            k=0;
        }
           }
    printf ("%d\n", k);
    return 0;
 
 
}
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
18.10.2013, 18:40 11
maxim12345, во многих случаях можно обойтись без "булей". Можно строки в матрице менять не в цикле, а с помощью переменных x1,x2,x3,xn. Но для удобства вводят и "були", и циклы и прочее. Не привыкайте к принципу "чем меньше сложного, тем лучше"
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 18:40  [ТС] 12
оно б все замечательно, но мы этого еще не изучали((
0
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
18.10.2013, 18:42 13
Цитата Сообщение от maxim12345 Посмотреть сообщение
просто сделать типа как вот эта программа
Чем моя не такая? И операции перечисленные, и циклов 2, и именно for'ы...
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 18:48  [ТС] 14
я не смогу просто потом переписать с булями на тот язык, а если эта программа будет написана используя те вещи, которые в проверке числа на простоту, то смогу, наверное, можете написать именно наподобие проверки на простоту?

Добавлено через 1 минуту
а можете тем не менее написать ее наподобие проги, что я скинул, пожалуйста?

Добавлено через 2 минуты
я не понимаю, что такое res, unsigned... сори за тупость((
0
267 / 255 / 27
Регистрация: 27.09.2013
Сообщений: 876
Записей в блоге: 1
18.10.2013, 18:52 15
maxim12345, не обращайте внимание на "вы еще не изучали") Вам будет в плюс то, что вы изучили что то сами. Тем более что подобные вещи в нормальном программировании будут активно использоваться. Тот же "буль"))))
1
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
18.10.2013, 18:52 16
Цитата Сообщение от Folko Посмотреть сообщение
Не привыкайте ...
И вот такое писать тоже привыкать не надо:
Цитата Сообщение от Folko Посмотреть сообщение
C++
1
2
if (numb == 8) return true;
else return false;


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

Цитата Сообщение от maxim12345 Посмотреть сообщение
я не понимаю, что такое res, unsigned... сори за тупость((
unsigned - это тот же int, только беззнаковый.
res - имя переменной.
2
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 19:01  [ТС] 17
q>>=4 а вот это что такое?
0
833 / 641 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
18.10.2013, 19:04 18
Цитата Сообщение от maxim12345 Посмотреть сообщение
q>>=4 а вот это что такое?
Битовый сдвиг. Я же написал, что можно заменить на q/=16.
1
шКодер самоучка
2227 / 1921 / 927
Регистрация: 09.10.2013
Сообщений: 4,262
Записей в блоге: 7
18.10.2013, 19:12 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;
}
Решение без циклов
1
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 72
18.10.2013, 19:24  [ТС] 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
0
18.10.2013, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2013, 19:24
Помогаю со студенческими работами здесь

Найти ,сколько чисел меньших X (икс) имеют в своей десятичной записи только цифры 0 и 1 - C (СИ)
Как написать эту программу без массивов и функций.Буду очень признателен, если поможете На вход...

Сколько есть шестизначных чисел, в записи которых цифры 1 и 2 встречаются по два раза, а цифры 3 и 4 – по одно
Сколько есть шестизначных чисел, в записи которых цифры 1 и 2 встречаются по два раза, а цифры 3 и...

В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5
В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5....

создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват
В общем создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru