C++ 检查数字N的每位数字之和能否整除N

C++ 检查数字N的每位数字之和能否整除N

N是整数类型的特殊数字,计算其个位数字之和。因此,这个和能被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语句调用函数,检查给定的数字之和是否能被自身整除。[示例1]

  • 接下来,使用调用函数sum_of_digits()得到变量sum。然后使用sum来检查数字之和是否能被自身整除的条件中,使用if-else语句。[示例2]

示例

程序使用while循环计算数字之和,而if-else语句用于使用调用函数设置条件。这样就可以检查数字N的每位数字之和能否整除N。

#include <iostream>
using namespace std;
// This function is used to calculate the sum of the digit
int digit_sum(int n) {
  int sum = 0;
  while (n > 0) {
    sum += n % 10;
    n /= 10;
  }
  return sum;
}
// taking function reference in the return statement
bool check_divisibility_of_digit(int n) {
  return n % digit_sum(n) == 0;
}
// Start the main function
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;
}
// Start the main function
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 语句进行具体操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程