检查数字 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 语句调用该函数来检查给定的 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语句获得特定操作。