Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
вап-56
0 / 0 / 0
Регистрация: 26.08.2016
Сообщений: 8
1

Определить количество чисел, у которых сумма цифр в цифровой записи числа больше чем К

26.08.2016, 17:56. Просмотров 1066. Ответов 8
Метки нет (Все метки)

Дано шестнадцатеричное натуральное число N.Определить количество чисел, у которых сумма цифр в цифровой записи числа больше чем К. Если таких чисел нет, то вывести слово "нет".
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2016, 17:56
Ответы с готовыми решениями:

Определить количество 8-значных чисел,у которых сумма цифр в цифровой записи числа больше,чем N.
Дано натурально число N. Определить количество 8-значных чисел,у которых сумма цифр в цифровой...

Определить: больше ли сумма максимальной и минимальной цифры чем сумма остальных цифр числа
Дано целое число x (999 < x < 9 000 000). Определить: больше ли сумма максимальной и минимальной...

дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!
дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти...

Определить количество цифр с наименьшим значением в цифровой записи данного числа
Помогите выполнить задание в C++ Дано натурально число. Определить количество цифр с наименьшим...

Определить количество цифр в цифровой записи данного числа, которые имеют наибольшее значение
Дано натуральное число N. Определить количество цифр в цифровой записи данного числа, которые...

8
вап-56
0 / 0 / 0
Регистрация: 26.08.2016
Сообщений: 8
28.08.2016, 11:04  [ТС] 2
Помогите пожалуйста, а то даже понять нормально не могу как это делать)
0
Байт
Эксперт C
22089 / 13770 / 2911
Регистрация: 24.12.2010
Сообщений: 29,403
28.08.2016, 23:58 3
вап-56, Условие задачи совершенно непонятно.
Цитата Сообщение от вап-56 Посмотреть сообщение
Определить количество чисел, у которых сумма цифр в цифровой записи числа больше чем К.
Среди чисел, меньших чем N, что ли?
Цитата Сообщение от вап-56 Посмотреть сообщение
в цифровой записи числа
Цифровая запись какая? Десятичная или 16-ричная?
0
вап-56
0 / 0 / 0
Регистрация: 26.08.2016
Сообщений: 8
29.08.2016, 11:06  [ТС] 4
Цитата Сообщение от Байт Посмотреть сообщение
вап-56, Условие задачи совершенно непонятно. Среди чисел, меньших чем N, что ли?

Цифровая запись какая? Десятичная или 16-ричная?
Да, от 1 до N.
Цифровая запись 16-ричная.
0
29.08.2016, 11:06
MaGaponov
11 / 11 / 9
Регистрация: 01.07.2015
Сообщений: 86
29.08.2016, 11:12 5
Потенциально, может быть бесконечное множество чисел у которых сумма цифр больше некого числа N.
Например, число N = 789(в 10-тичной), тогда числа 999, 9999, 99999 (до бесконечности), будут иметь сумму цифр большую, чем у N.
Давайте нам корректное условие.
0
вап-56
0 / 0 / 0
Регистрация: 26.08.2016
Сообщений: 8
29.08.2016, 13:20  [ТС] 6
Цитата Сообщение от MaGaponov Посмотреть сообщение
Потенциально, может быть бесконечное множество чисел у которых сумма цифр больше некого числа N.
Например, число N = 789(в 10-тичной), тогда числа 999, 9999, 99999 (до бесконечности), будут иметь сумму цифр большую, чем у N.
Давайте нам корректное условие.
Пользователь задает числа N и K с клавиатуры. И проверяет сумму каждого числа от 1 до числа N. И если сумма числа от 1 до N (то есть, на примере десятичного числа, 296: у него сумма 2+9+6=17) больше чем K то оно записывается в счетчик и в конце выводится количество этих чисел которые больше по сумме чем K. (Как я понимаю бесконечности тут быть не может)

Добавлено через 13 минут
Я для десятичной системы исчисления сделал, теперь надо это как-то переделать в шестнадцатеричную

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <stdio.h>
#include <cstdlib>
#include <cstring>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int K;
    char N[255];
    int k=0;
    int sum=0;
 
    cout<<"Введите N ";
    cin>>N;
    cout<<"\nВведите K ";
    cin>>K;
 
 
    int n = atoi(&N[0]);
 
    for(int i=1; i<=n; i++)
    {
        int n = i;
               while (n!=0)
    {
        sum += n%10;
        n /= 10;
    }
 
            cout<<"Сумма "<<sum<<endl;
 
        if (K < sum)
        k=k+1;
        sum=0;
    }
    cout<<"Чисел больше K "<<k;
    return 0;
}
0
Байт
Эксперт C
22089 / 13770 / 2911
Регистрация: 24.12.2010
Сообщений: 29,403
29.08.2016, 21:58 7
Лучший ответ Сообщение было отмечено вап-56 как решение

Решение

вап-56, Изменяется только маленький кусочек вашего кода строки 28-29
C++
1
2
sum = n%16;
n /= 16;
Добавлено через 8 минут
Да, и конечно atoi в строке 21 не годится. Он думает, что число десятичное.
Вместо этого надо вставить такой код
C++
1
2
3
4
5
6
7
8
9
n = 0;
for(int i=0; N[i]; i++) {
  int c = 100;
  if ('0' <= N[i] && N[i] <= '9') c = N[i] - '0';
  else if ('a' <= N[i] && N[i] <= 'f') c = N[i] - 'a';
  else if ('A' <= N[i] && N[i] <= 'F') c = N[i] - 'A';
  if (c==100) break;
  n = 16*n + c;
}
Это и будет "atoi" для 16-ричной записи
1
вап-56
0 / 0 / 0
Регистрация: 26.08.2016
Сообщений: 8
30.08.2016, 06:20  [ТС] 8
Байт, Спасибо большое)
0
Байт
Эксперт C
22089 / 13770 / 2911
Регистрация: 24.12.2010
Сообщений: 29,403
15.10.2017, 16:53 9
Тут я ошибочку нашел в своем коде. Прошу прощения у уважаемой публики.
Следует читать
C++
1
2
3
4
5
6
7
8
9
n = 0;
for(int i=0; N[i]; i++) {
  int c = 100;
  if ('0' <= N[i] && N[i] <= '9') c = N[i] - '0';
  else if ('a' <= N[i] && N[i] <= 'f') c = N[i] - 'a'+10;  // Вот в этих 2-х строчках
  else if ('A' <= N[i] && N[i] <= 'F') c = N[i] - 'A'+10; // пропустил +10
  if (c==100) break;
  n = 16*n + c;
}
0
15.10.2017, 16:53
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2017, 16:53

Определить количество цифр в цифровой записи данного числа, которые имеют наименьшее значение
Помогите пожалуйста. Дано натуральное число N. Определить количество цифр в цифровой записи...

Определить количество 8-значных чисел, у которых сумма цифр...
Дано натуральное число N. Определить количество 8-значных чисел, у которых сумма цифр в цифровой...

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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