检查数字 N 的各位数字之和是否能整除该数字

pythonc++programming

N 数字是整数类型的特殊数字,用于计算总和的各位数字。因此,这个和可以被它自己的数字整除。

让我们举个例子。

给定的整数,N = 36

每个数字的总和,3 + 6 = 9

因此,36 可以成功地被 9 整除,并且它验证了 N 可以整除它。

算法

以下步骤是-

步骤 1:我们将通过提及头文件 iostream 来启动程序。

步骤 2:常见匹配:-

  • 然后使用函数定义 digit_sum(),该函数接受参数类型为整数的变量 n 来执行数字和的运算。[示例 1]

  • 在示例 2 中,逻辑部分相同,唯一不同的是函数定义的名称,即 sum_of_digits。[示例 2]。

步骤 3:该函数将变量 sum 初始化为 0,以跟踪数字之和。

步骤 4:程序使用 while 循环,其中将条件设置为 n > 0。如果 n 值大于 0,则它将向前移动到循环内部。然后使用运算符 % 和 /= 计算数字和验证。

步骤 5:然后函数仅返回计算总和中个别数字的变量 sum。

步骤 6:然后它将使用另一个函数定义 check_divisibility_of_digit(),该函数接受参数作为变量 n 并通过获取函数引用(即带有一些运算符的 digit_sum())返回函数。[示例 1]

步骤 7:现在启动主函数,并初始化变量 N 以设置整数值。

步骤 8:

  • 接下来,它使用 if-else 语句调用该函数来检查给定的 sum 位数是否可以被其自身整除。[示例 1]

  • 接下来,它将在变量 sum 中使用调用函数 sum_of_digits()。然后 sum 将在条件 if-else 语句中使用,以检查 sum 的数字是否可以被其自身整除。[示例 2]

示例

该程序使用 while 循环来计算数字之和,而 if-else 语句将用于使用调用函数设置条件。这样,它将检查数字 N 的位数之和是否能被其整除。

#include <iostream>
using namespace std;
//此函数用于计算数字的总和
int digit_sum(int n) {
  int sum = 0;
  while (n > 0) {
    sum += n % 10;
    n /= 10;
  }
  return sum;
}
// 在返回语句中获取函数引用
bool check_divisibility_of_digit(int n) {
  return n % digit_sum(n) == 0;
}
// 启动主函数
int main() {
  int n = 48;
  if (check_divisibility_of_digit(n)) {
    cout << "The given number is divisible by its sum" << endl;
  } else {
    cout << "The given number not divisible by its sum" << endl;
  }
  return 0;
}

输出

 The given number is divisible by its sum

示例

在下面的例子中,我们将使用简单的 while 循环来设置数字总和的计算操作。在主函数中,它使用调用函数和 if-else 语句来设置特定条件和操作以获取结果。

#include <iostream>
using namespace std;
// recursive function
int sum_of_digits(int n) {
  int sum = 0;
  while (n > 0) {
    int digit = n % 10;
    sum += digit;
    n /= 10;
  }
  return sum;
}
// 启动主函数
int main() {
  int n = 42;
// Calling function
  int sum = sum_of_digits(n);
  if (n % sum == 0) 
  {
    cout << "The given input of sum is satisfied for division." << endl;
  } 
  else 
  {
    cout << "The given input of sum is not satisfied for division." << endl;
  }
  return 0;
}

输出

 The given input of sum is satisfied for division.

结论

数字之和是那些加法可以被自身整除的数字。该程序使用一个简单的while循环对输入数字N进行迭代以找到和。之后,它使用主函数中的一些运算符(例如模数(%)和等于(==))来通过if-else语句获得特定操作。


相关文章