用递归求一个数的位数和的 C# 程序
原文:https://www . geeksforgeeks . org/c-sharp-程序使用递归查找数字的位数总和/
给定一个数,我们需要用递归求该数的位数之和。在 C# 中,递归是函数直接或间接调用自身的过程,相应的函数称为递归函数。它很容易用来解决问题,就像在这篇文章中使用递归,我们会找到一个数字的位数之和。
例
Input: 456
Output: 15
Input: 123
Output: 6
进场:
要使用递归查找数字的位数总和,请遵循以下方法:
- 我们用参数 n 调用 SumOfDigits 函数。
- 在函数中,最后一个数字由 n % 10 检索。
- 该函数被递归调用,参数为 n / 10。[即 n % 10+sumofgit(n/10)]
- 该函数被递归调用,直到 n > 0。
例 1:
C
// C# program to find the sum of digits of a number
// using recursion
using System;
class GFG{
// Method to check sum of digit using recursion
static int SumOfDigit(int n)
{
// If the n value is zero then we
// return sum as 0.
if (n == 0)
return 0;
// Last digit + recursivly calling n/10
return(n % 10 + SumOfDigit(n / 10));
}
// Driver code
public static void Main()
{
int n = 123;
int ans = SumOfDigit(n);
Console.Write("Sum = " + ans);
}
}
Output
Sum = 6
例 2:
C
// C# program to find the sum of digits of a number
// using recursion
// Here, we take input from user
using System;
class GFG{
// Method to check sum of digit using recursion
static int SumOfDigit(int n)
{
// If the n value is zero then we return sum as 0.
if (n == 0)
return 0;
// Last digit + recursivly calling n/10
return (n % 10 + SumOfDigit(n / 10));
}
// Driver code
public static void Main()
{
int number, res;
// Taking input from user
Console.WriteLine("Hi! Enter the Number: ");
number = int.Parse(Console.ReadLine());
res = SumOfDigit(number);
// Displaying the output
Console.WriteLine("Sum of Digits is {0}", res);
Console.ReadLine();
}
}
输出:
Hi! Enter the Number:
12345
The Sum of Digits is 15
版权属于:月萌API www.moonapi.com,转载请注明出处