Найти сумму цифр числа
Найти сумму цифр числа
Не могу понять логику действия. Написал часть и застрял. Пользователь должен задать размер с.
Найти количество цифр числа и их сумму
Описать процедуру DigitCountSum(K, C, S), находящую количество C цифр целого положительного числа.
Найти сумму цифр целого числа
дано целое число K. Найти сумму цифр числа K. нужно через цикл for написать, не понимаю
Найти сумму цифр вещественного числа
Здравствуйте! нужна помощь в нахождении ошибки, сама я ее найти не могу. в прошлом семестре писала.
Найти сумму и произведение цифр трехзначного числа
Сгенерировать случайное трехзначное целое число. Найти сумму и произведение его цифр.
В языке программирования C функция rand() генерирует случайное целое число от 0 до определенной константы, значение которой задано в одном из заголовочных файлов. Выражение rand() % 900 вернет любое число от 0 до 899 включительно (т.е. остаток от деления на 900). Если прибавить 100, то получим любое число от 100 до 999.
Первая цифра числа извлекается делением нацело на 100. В языке C целочисленное деление не имеет специального знака, оно применяется автоматически, если оба операнда целые числа.
Последняя цифра числа представляет собой остаток от целочисленного деления на 10.
Средняя цифра числа извлекается в два этапа. Сначала избавляются от последней цифры, деля нацело на 10, а затем находят остаток от деления на 10.
Сумма цифр в C #
Какая самая быстрая и простая в чтении реализация вычисления суммы цифр?
т.е. Учитывая число: 17463 = 1 + 7 + 4 + 6 + 3 = 21
15 ответов
Вы можете сделать это арифметически, не используя строку:
Он использует только одну строку кода.
Для целых чисел Greg Hewgill имеет большую часть ответа, но забывает учитывать n < 0. Сумма цифр -1234 должна быть равна 10, а не -10.
Это число является числом с плавающей запятой, следует использовать другой подход, и решение хаоумана полностью потерпит неудачу, когда оно достигнет десятичной точки.
Я думал, что просто отправлю это ради завершения:
Если вам нужна рекурсивная сумма цифр, например: 17463 → 1 + 7 + 4 + 6 + 3 = 21 → 2 + 1 = 3
то лучшим решением было бы
Мне нравится ответ chaowman, но он будет делать одно изменение
Я даже не уверен, что c — ‘0’, синтаксис будет работать? (вычитание двух символов должно дать персонажу в результате, я думаю?)
Я думаю, что это самая читаемая версия (использование суммы слова в сочетании с выражением лямбда, показывающее, что вы сделаете это для каждого char). Но, действительно, я не думаю, что это будет самый быстрый.
Это означает, что сумма цифр между 0-9
Я бы предположил, что самая простая для чтения реализация будет выглядеть примерно так:
Это работает и довольно легко читается. BTW: Convert.ToInt32 (‘3’) дает 51, а не 3. Convert.ToInt32 (‘3’ — ‘0’) дает 3.
Я бы предположил, что самая быстрая реализация — это арифметическое решение Грега Хьюджилла.
Удивленно никто не рассматривал метод подстроки. Не знаю, эффективнее ли это или нет. Для тех, кто знает, как использовать этот метод, он вполне интуитивно понятен для таких случаев.
А назад, мне пришлось найти цифру, сумму чего-то. Я использовал код Мухаммада Хасана Хана, однако он продолжал возвращать правильное число как повторяющееся десятичное число, то есть когда цифра была равна 4, я бы получил 4.44444444444444 и т.д. Поэтому я отредактировал его, получив правильную цифру, каждый раз с помощью этого кода:
где a — это число, цифра которого вы хотите, n — это двойное значение, используемое для этого процесса, sumD — это сумма цифр в double, а sumI — сумма цифр в целочисленном размере, поэтому правильная сумма цифр.
Упражнения C: Найти сумму цифр числа
Напишите программу на C, чтобы найти сумму цифр числа, используя рекурсию.
Иллюстрированная презентация:

Пример решения:
Код C:
Блок — схема:

Редактор кода программирования C:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.