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

Цикл: получить количество натуральных четырехзначных чисел, сумма цифр которых равна 10

13.06.2019, 08:44. Показов 2039. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать блок-схему и написать на языке с++ программу вычисления количества
натуральных четырехзначных чисел , сумма цифр которых равна 10
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.06.2019, 08:44
Ответы с готовыми решениями:

Найти количество четырехзначных чисел, сумма цифр которых равна 9
Найти кол-во четырехзначных чисел, сумма цифр которых равна 9

Найти количество натуральных чисел сумма цифр которых равна числу N
Найти количество натуральных чисел сумма цифр которых равна числу N. N – вводится с клавиатуры.

Определить k — количество трёхзначных натуральных чисел, сумма цифр которых равна n
Определить k — количество трёхзначных натуральных чисел, сумма цифр которых равна n ( ). Операции деления (/, div, mod) не использовать.

7
13 / 10 / 5
Регистрация: 08.02.2018
Сообщений: 13
13.06.2019, 14:08
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
41
42
43
44
45
46
47
48
49
#include<iostream>
#include<string>
#include<vector>
 
using namespace std;
 
// Функция для подсчета суммы цифр числа n
int digits_sum(int n)
{
    // Преобразование числа в строку
    string s = to_string(n);
    int sum = 0;
    for(char ch: s)
    {
        // Проход по каждому символу строки с преобразованием его в целое число.
        // Так как аргументом функции stoi() является строка, то необходимо
        // преобразовать символ в строку
        sum += stoi(string("") + ch);
    }
    return sum;
}
 
// -------------------------------------------------------------------------------
 
int main()
{
    // 1 Создание массива, в котором будут храниться 4-х значные натуральные числа
    vector<int> vi;
    // 2 Заполнение массива 4-х значными натуральными числами
    for(int i = 1000; i < 10000; i++)
        vi.push_back(i);
    
    constexpr int required_sum = 10;
    
    // Переменная для хранения количества натуральных четырехзначных 
    // чисел, сумма цифр которых равна 10
    int count = 0;
    
    // 3 Каждое число из массива проверяется на соответствие
    // заданному условию
    for(int i: vi)
        if(digits_sum(i) == required_sum)
        {
            cout << i << '\n';
            ++count;
        }
    
    cout << "Quantity of four-digit natural numbers with sum of digits equal 10: " << count << '\n';
}
0
 Аватар для SomniPhobia
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,406
13.06.2019, 14:16
toxican, привет!
Держи код.

Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <string>
#include <numeric>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Rus");
    const int need_sum = 10;
    
    cout << "Укажите количество знаков в числе ";
    size_t n;
    cin >> n;
    string start(n - 1, '0');
    start = "1" + start;
    int s_num = stoi(start);
    string finish(n, '0');
    finish = "1" + finish;
    int f_num = stoi(finish);
 
    size_t count_need_sum = 0u;
    for (int scroll = s_num; scroll != f_num; ++scroll)
    {
        string num(to_string(scroll));
        long long sum = accumulate(cbegin(num), cend(num), 0);
        sum -= 48 * num.length();
        count_need_sum += sum == need_sum;
    }
    cout << count_need_sum << endl;
 
    system("pause");
    return 0;
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.06.2019, 14:48
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main()
{    
    int count=0;
    for (int n=1000; n<=9999; n++)
      if (n/1000+n/100%10+n/10%10+n%10==10) count++; 
      
    cout << count << "\n";  
 
system("pause");
return 0;
}
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
13.06.2019, 15:42
Цитата Сообщение от Yetty Посмотреть сообщение
for (int n=1000; n<=9999; n++)
сокращаем число циклов:
C++
1
for (int n=1009; n<=9001; n++)
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.06.2019, 20:40
повар1, специально так оставил, чтобы всё считал комп, а не часть считаем в уме, часть в программе. развивая Ваше предложение можно в столбик на листочке выписать, подсчитать и вывести в итоге одну строку cout << 219;

кстати бывает что вот так и ошибки возникают, если с логикой не на пять предложенная Вами строчка - типичный пример: ответы не совпадают. довольно очевидно, что 9001 не самое большое четырёхзначное сумма цифр которого 10
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
13.06.2019, 20:58
Цитата Сообщение от Yetty Посмотреть сообщение
что 9001 не самое большое четырёхзначное сумма цифр
А кто с Вами спорит. Сделано специально обратить Ваше внимание на то что иногда и головой надо думать.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
13.06.2019, 21:22
Цитата Сообщение от повар1 Посмотреть сообщение
Сделано специально
не могу разобрать - Вы специально выкладываете коды с ошибками, чтобы растолковать несведущим какой Вы "оптимизатор" или допустили ошибку и пытаетесь съехать ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.06.2019, 21:22
Помогаю со студенческими работами здесь

Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n (1<=n<=27)
Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n (1&lt;=n&lt;=27). Число n вводить с клавиатуры,...

Определить количество трехзначных натуральных чисел, сумма цифр которых равна n
Определить k – количество трехзначных натуральных чисел, сумма цифр которых равна n(1&lt;=n&lt;=27). Операции деления (/, div и mod) не...

Определить количество трехзначных натуральных чисел, сумма цифр которых равна n
Помогите, пожалуйста, решить задачу: Определите k-количество трехзначных натуральных чисел, сумма цифр которых равна n (1 &lt;n &lt;27) ...

Определить количество трехзначных натуральных чисел, сумма цифр которых равна n
Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n (1&lt;=n&lt;=27). Операции деления (/, div, и mod) не...

Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному
Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n (1&lt;=n&lt;=27). Операции деления. (/, div и mod) не...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru