Сергей Бизон
Искусственный Интеллект
(563635)
4 года назад
ВОпрос довольно часто встречающийся, поэтому я сохранил свой ответ давнишний...
Правда он на Си, но языки очень похожи, т. ч. переведешь если нужно
Вот алгоритм и функция для нахождения суммы цифр любого n-значного целого числа:
int count_digital(a)
{
int digit, suma = 0 ;
a = ads(a) ; // рассматриваем только модуль числа
while(a > 0)
{
digit = a % 10 ; остаток от деления по модулю на 10 и есть текущая цифра
suma += digit ; // накапливаем сумму цифр числа
a /= 10 ; переходим к следующему десятичному разряду числа
}
return(suma) ;
}
Артем Григорян
Ученик
(119)
4 года назад
Скорее всего, ты делаешь сириус), поэтому, как я понимаю, тебе нельзя использовать такие вещи как split, map, sup... Поэтому лови нужный код:
a = int(input())
b = (a % 10) + ((a // 10) % 10) + ((a // 100) % 10) + ((a // 1000) % 10)
print(b)
Владимир Заморий
Ученик
(109)
3 года назад
// Сириус нельзя использовать циклы только целочисленная математика ответ на c++
#include
using namespace std;
int main(){
int n;
cin >> n;
int a = n % 10;
int b = n / 10 % 10;
int c = n / 100 % 10;
int d = n / 1000;
cout << a+b+c+d;
return 0;
}