Находить сумму цифр числа n, пока результат не будет состоять из одной цифры - C#

Узнай цену своей работы

Формулировка задачи:

находить сумму цифр числа n( любого от 1 до 10^9)пока результат не будет состоять из одной цифры

Решение задачи: «Находить сумму цифр числа n, пока результат не будет состоять из одной цифры»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace ConsoleApplication1
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             int val = 35353535;
  11.  
  12.             Console.WriteLine(val);
  13.             Console.WriteLine(val.DigitsSum());
  14.             Console.WriteLine(val.OneDigitDigitsSum());
  15.  
  16.             Console.ReadKey();
  17.         }
  18.  
  19.     }
  20.  
  21.     static class IntExtentions
  22.     {
  23.         public static int Fact(this int n) //метод расширения для нахождения факториала
  24.         {
  25.             return n == 0 ? 1 : n * Fact(n - 1);
  26.         }
  27.  
  28.         public static int SumDigitsFacts(this int n) //метод расширения для нахождения суммы факториалов цифр
  29.         {
  30.             return n == 0 ? n : (n % 10).Fact() + (n / 10).SumDigitsFacts();
  31.         }
  32.  
  33.         public static int DigitsSum(this int n) //метод расширения для нахождения суммы цифр
  34.         {
  35.             int nextn = n / 10;
  36.             return nextn == 0 ? n : n % 10 + nextn.DigitsSum();
  37.         }
  38.  
  39.         public static int OneDigitDigitsSum(this int n) //метод расширения для нахождения суммы цифр до одной
  40.         {
  41.             int sum = DigitsSum(n);
  42.             return sum < 10 ? sum : sum.OneDigitDigitsSum();
  43.         }      
  44.     }
  45. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы