Рубрики

Программа для сумм цифр заданного числа

По заданному числу найдите сумму его цифр.

Примеры :

Input : n = 687
Output : 21

Input : n = 12
Output : 3

Общий алгоритм суммирования цифр в заданном числе:

  1. Получить номер
  2. Объявите переменную для хранения суммы и установите ее в 0
  3. Повторите следующие два шага, пока число не станет 0
  4. Получите самую правую цифру числа с помощью оператора остатка '%', разделив его на 10 и добавив к сумме.
  5. Разделите число на 10 с помощью оператора '/'
  6. Распечатать или вернуть сумму

Ниже приведены решения для получения суммы цифр.
1. Итеративный:

C ++

// C программа для вычисления суммы цифр в
// число.
# include<iostream>

using namespace std;

/ * Функция для получения суммы цифр * /

class gfg

{

    public:

    int getSum(int n)

    

    int sum = 0;

    while (n != 0)

    {

     sum = sum + n % 10;

     n = n/10;

    

 return sum;

 }

};
// код драйвера

int main()

{

 gfg g;

 int n = 687;

 cout<< g.getSum(n);

 return 0;

}
// Этот код предоставлен Soumik

С

// C программа для вычисления суммы цифр в
// число.
# include<stdio.h>

  
/ * Функция для получения суммы цифр * /

int getSum(int n)

   int sum = 0;

   while (n != 0)

   {

       sum = sum + n % 10;

       n = n/10;

   }

   return sum;

}

  

int main()

{

  int n = 687;

  printf(" %d ", getSum(n));

  return 0;

}

Джава

// Java-программа для вычисления
// сумма цифр в номере.

import java.io.*;

  

class GFG {

      

    / * Функция для получения суммы цифр * /

    static int getSum(int n)

    {    

        int sum = 0;

          

        while (n != 0)

        {

            sum = sum + n % 10;

            n = n/10;

        }

      

    return sum;

    }

  

    // Драйвер программы

    public static void main(String[] args)

    {

        int n = 687;

  

        System.out.println(getSum(n));

    }

}

  
// Этот код предоставлен Gitanjali

python3

# Python 3 программа для
# вычислить сумму цифр в
# число.

  
# Функция для получения суммы цифр

def getSum(n):

   

    sum = 0

    while (n != 0):

      

        sum = sum + int(n % 10)

        n = int(n/10)

      

    return sum

  

n = 687

print(getSum(n))

C #

// C # программа для вычисления
// сумма цифр в номере.

using System;

  

class GFG

{

    / * Функция для получения суммы цифр * /

    static int getSum(int n)

    

        int sum = 0;

          

        while (n != 0)

        {

            sum = sum + n % 10;

            n = n/10;

        }

      

    return sum;

    }

  

    // Драйвер программы

    public static void Main()

    {

        int n = 687;

        Console.Write(getSum(n));

    }

}

  
// Этот код предоставлен Sam007

PHP

<?php
// PHP-код для вычисления суммы
// цифр в номере.

  
// Функция для получения
// $ сумма цифр

function getsum($n)

    $sum = 0;

    while ($n != 0)

    {

        $sum = $sum + $n % 10;

        $n = $n/10;

    }

    return $sum;

}

  
// Код драйвера

$n = 687;

$res = getsum($n);

echo("$res");

  
// Этот код предоставлен
// Смита Динеш Семвал.
?>


Выход :

21

Как вычислить в одну строку?
Функция ниже имеет три строки вместо одной, но вычисляет сумму в строке. Это можно сделать одной строковой функцией, если мы передадим указатель на сумму.

C ++

# include<iostream>

using namespace std;

/ * Функция для получения суммы цифр * /

class gfg

{

 public:

 int getSum(int n)

 {

    int sum;

  

    / * Одна строка, которая вычисляет сумму * /

    for (sum = 0; n > 0; sum += n % 10, n /= 10);

  

    return sum;

 }

};

  
// код драйвера

int main()

{

 gfg g;   

 int n = 687;

 cout<< g.getSum(n);

 return 0;

}
// Этот код предоставлен Soumik

С

# include<stdio.h>
/ * Функция для получения суммы цифр * /

int getSum(int n)

{

    int sum;

  

    / * Одна строка, которая вычисляет сумму * /

    for (sum = 0; n > 0; sum += n % 10, n /= 10);

  

    return sum;

}

  

int main()

{

  int n = 687;

  printf(" %d ", getSum(n));

  return 0;

}

Джава

// Java-программа для вычисления
// сумма цифр в номере.

import java.io.*;

  

class GFG {

      

    / * Функция для получения суммы цифр * /

    static int getSum(int n)

    {

        int sum;

  

        / * Одна строка, которая вычисляет сумму * /

        for (sum = 0; n > 0; sum += n % 10,

                                  n /= 10);

  

        return sum;

    }

  

    // Код драйвера

    public static void main(String[] args)

    {

        int n = 687;

  

        System.out.println(getSum(n));

    }

}

  
// Этот код предоставлен Gitanjali

python3

# Функция для получения суммы цифр

  

def getSum(n):

  

    sum = 0

  

    # Одна строка, которая вычисляет сумму

    while(n > 0):

        sum += int(n%10)

        n = int(n/10)

  

    return sum

  
# Код драйвера

  

n = 687

print(getSum(n))

  
# Этот код предоставлен
# Смита Динеш Семвал

C #

// C # программа для вычисления
// сумма цифр в номере.

using System;

  

class GFG

{

    static int getSum(int n)

    {

        int sum;

  

        / * Одна строка, которая вычисляет сумму * /

        for (sum = 0; n > 0; sum += n % 10,

                                n /= 10);

  

        return sum;

    }

  

    // Код драйвера

    public static void Main()

    {

        int n = 687;

        Console.Write(getSum(n));

    }

}

  
// Этот код предоставлен Sam007

PHP

<?php
// PHP код для суммирования
// цифры данного номера

  
// Функция для получения суммы цифр

function getsum($n)

{

  

    // Одна строка, которая вычисляет сумму $

    for ($sum = 0; $n > 0; $sum += $n % 10, 

                                  $n /= 10);

    return $sum;

}

  
// Код драйвера

$n = 687;

echo(getsum($n));

  
// Этот код предоставлен
// Смита Динеш Семвал.
?>


Выход :

21

2. Рекурсивный
Спасибо Айше за предоставленное ниже рекурсивное решение.

C ++

#include<iostream>

using namespace std;

class gfg

{

 public: int sumDigits(int no)

 {

   return no == 0 ? 0 : no%10 + sumDigits(no/10) ;

 }

};

  
// код драйвера

int main(void)

{

    gfg g;

    cout<<g.sumDigits(687);

    return 0;

}

С

int sumDigits(int no)

{

   return no == 0 ? 0 : no%10 + sumDigits(no/10) ;

}

  

int main(void)

{

    printf("%d", sumDigits(687));

    return 0;

}

Джава

// Java-программа для вычисления
// сумма цифр в номере.

import java.io.*;

  

class GFG {

    

    / * Функция для получения суммы цифр * / 

    static int sumDigits(int no)

    {

        return no == 0 ? 0 : no%10

                  sumDigits(no/10) ;

    }

  

    // Код драйвера

    public static void main(String[] args)

    {

    System.out.println(sumDigits(687));

    }

}

  
// Этот код предоставлен Gitanjali

python3

# Python программа для вычисления
# сумма цифр в номере.

  

def sumDigits(no):

    return 0 if no == 0 else int(no%10) + sumDigits(int(no/10)) 

  
# Код драйвера

print(sumDigits(687))

  
# Этот код предоставлен
# Смита Динеш Семвал

C #

// C # программа для вычисления
// сумма цифр в номере.

using System;

  

class GFG

{

    / * Функция для получения суммы цифр * /

    static int sumDigits(int no)

    {

        return no == 0 ? 0 : no % 10 + 

                sumDigits(no / 10);

    }

  

    // Код драйвера

    public static void Main()

    {

        Console.Write(sumDigits(687));

    }

}

  
// Этот код предоставлен Sam007

PHP

<?php
// PHP программа для вычисления
// сумма цифр в номере.

function sumDigits($no)

{

return $no == 0 ? 0 : $no % 10 + 

                      sumDigits($no / 10) ;

}

  
// Код драйвера

echo sumDigits(687);

  
// Этот код предоставлен aj_36
?>


Выход :

21

Пожалуйста, пишите комментарии, если вы обнаружите, что вышеприведенные коды / алгоритмы неверны, или найдете лучшие способы решения той же проблемы.

Рекомендуемые посты:

Программа для сумм цифр заданного числа

0.00 (0%) 0 votes