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

Алгоритм подсчета количества чисел, которые делятся нацело на сумму своих цифр

13.01.2016, 09:34. Показов 10949. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Вот разобраться не могу как реализовать подсчет количества чисел, которые делятся нацело на сумму своих цифр. Помогите пожалуйста.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.01.2016, 09:34
Ответы с готовыми решениями:

Циклы: определить среди всех двузначных чисел те, которые делятся на сумму своих цифр
Здравствуйте, помогите пожалуйста с программой на C++. (Определить среди всех двузначных чисел те, которые делятся на сумму своих...

Найти числа, которые делятся без остатка на сумму своих цифр
Как єто сделать? Используя функцию Sum Digits, разработайте программу, выводит в порядке возрастания целые числа диапазона от 1 до...

Вывести на экран сумму чисел от 0 до 1000, которые делятся нацело на 3 или 5
Решила сделать задачку: Вывести на экран сумму чисел от 0 до 1000 , что делятся нацело на 3 или 5 . Но как всегда не правильно сделала,...

12
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.01.2016, 09:46
C++
1
2
3
4
5
6
7
8
int sum(int i){int r=0; while(i){r*=10;r+=i%10; i/=10;}; return r;}
...
...main() {
 int c,i;
 for(i=11;i<1000;i++) if(i%sum(i)==0) inc(c);
 cout<<"Кол-во:"<<c;
...
}
Так то вот как-то...
1
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
13.01.2016, 09:55
Цитата Сообщение от Hikari Посмотреть сообщение
C++
1
int sum(int i){int r=0; while(i){r*=10;r+=i%10; i/=10;}; return r;}
И где здесь считается сумма?
0
 Аватар для Termit779
79 / 60 / 19
Регистрация: 22.11.2015
Сообщений: 193
13.01.2016, 11:51
Лучший ответ Сообщение было отмечено Diwate как решение

Решение

Я вот так решил.
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
// Определяет количество чисел ряда
// которые делятся  на сумму своих
// цифр без остатка.
 
#include <iostream>
using namespace std;
 
//  Функция. Определяет сумму цифр каждого разряда числа.
int out_sum(int chislo) {
    int sum = 0;    // Сумма всех цифр числа
    int p = 10;     // Вспомогательная (отделение разрядов)
    for (int i = 0; i < 6; i++) {   // 'i'- максимальное количество разрядов числа 
        if (chislo % p < 10) {      // Проверяем, остаток от деления на 'p'
            sum += chislo % p;      // Добавляем к сумме
        }
        else {
            sum += (((chislo % p) - (chislo % (p / 10))) % p) / (p / 10); // Следующая цифра
        }
        p *= 10; // Следующий разряд числа
    }
    return sum;
}
 
int main() {
    setlocale(0, "Russian");    
    int chislo;     //  Числа из потока 'cin'
    int col = 0;    // Количество чисел, которые делятся на сумму своих цифр
    
    cout << "Введите ряд чисел. Выход - '0'\n";
    while (cin >> chislo)
    {
        if (chislo == 0)
        {
            break;
        }
        if (chislo % out_sum(chislo) == 0) { // Текущее число передаем в функцию, возвращающую сумму цифр.                                     
            ++col;                              
            cout << "Количество чисел, которые делятся\n"
                << "на сумму своих цифр без остатка == " << col << "\n";
        }       
    }
    system("pause");
}
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.01.2016, 12:13
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
И где здесь считается сумма?
r+=i%10;
Нет?
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
13.01.2016, 12:24
Hikari, в вашем коде я вижу не сумму цифр, а реверс числа, т.к. перед r+=i%10; стоит r*=10;
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.01.2016, 13:10
Ой ой...
и то правда... Чего-то меня не в ту степь потянуло...
Блондинко...
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
13.01.2016, 13:44
Hikari, И еще вопросик. Почему вы игнорируете числа из первой десятки (for(i=11...)
Имхо, они вполне удовлетворяют поставленному условию
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.01.2016, 14:16
Цитата Сообщение от 8-BITOV Посмотреть сообщение
Имхо, они вполне удовлетворяют поставленному условию
Не спорю, просто как-то не представляю сумму цифр числа, состоящего из одной цифры. Непривычно так сказать.
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
13.01.2016, 14:43
Цитата Сообщение от Hikari Посмотреть сообщение
Непривычно так сказать.
Тогда вам будет любопытно глянуть на эту полемику...
Отобразить минимальное положительное число, которое невозможно представить в виде суммы элементов массива
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.01.2016, 14:52
Цитата Сообщение от 8-BITOV Посмотреть сообщение
Тогда вам будет любопытно глянуть на эту полемику...
Ничего так...
Это из серии "Парадоксы парадоксальных парадоксов в парадоксизме онных парадоксальные в своем парадоксе"
Вообще я сумму представляю как операцию двух или более элементов, ибо если элемент один или менее смысл в сумме отпадает. Но это уже скорее тема для холливара. Вообще правильного ответа наверное и не может быть на подобные темы
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
13.01.2016, 18:52
Цитата Сообщение от Hikari Посмотреть сообщение
Но это уже скорее тема для холливара
Имхо, вовсе нет.
Цитата Сообщение от Hikari Посмотреть сообщение
Вообще я сумму представляю как операцию двух или более элементов, ибо если элемент один или менее смысл в сумме отпадает.
Вот тут-то и видна серьезность этого вопроса. А дело в том, что одним и тем же словом обозначаются совершенно разные понятия. Вы (и не одна вы) представляете СУММУ как результат бинарной операции a+b. Т.е. в смысле Общей Алгебры. Как отображение прямого произведения Z x Z в Z. И такое представление вполне оправдано, но...
Но у слова СУММА есть и другой смысл. И именно им пользуются программисты, когда пишут
C
1
2
s = 0;
for(i=0; i<n; i++) s += a[i]
То есть сумма элементов множества. И математики, когда пишут
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=1}^{n}{a}_{i} тоже имеют в виду эту сумму.
Понять, о какой сумме идет речь, всегда можно из контекста. И на нашем форуме почти всюду (за исключением может быть раздела Алгебра) она имеет именно второй смысл.
Но, как заметил еще И.Бродский, слова имеют еще и самостоятельную силу. И иногда их вторые (и третьи) смыслы лезут без спроса в наши слабые головы в совершенно неподходящем контексте..
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
13.01.2016, 19:53
Ну что ж, да будет так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.01.2016, 19:53
Помогаю со студенческими работами здесь

Найти все числа в заданном диапазоне, которые делятся на сумму своих цифр.
Написать программу, содержащую не менее двух функций в разных файлах .c (.cpp), и три варианта определения функций: - нерекурсивная; ...

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

Определить количество натуральных чисел, не превышающих n, которые не делятся нацело на 7
Кто чем может.Новичок ,только учусь 1.Определить количество натуральных чисел, не превышающих n, которые не делятся нацело на 7.

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

Вывести все трехзначные числа, которые делятся на суму своих цифр
Вывести все трехзначные числа, которые делятся на суму своих цифр #include &lt;iostream&gt; using namespace std; int main() { ...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru