您好,欢迎访问一九零五行业门户网

C程序检查一个数字是否可被其各位数字之和整除

给定一个数字n,我们需要检查其各位数字之和是否能整除n。为了找出答案,我们需要将所有数字从个位开始相加,然后用最终的和去除以该数字。
比如我们有一个数字521,我们需要找出其各位数字之和,即5 + 2 + 1 = 8,但是521不能被8整除,余数不为0。
再举个例子,60,其各位数字之和为6 + 0 = 6,6能够整除60,余数为0。
例子input: 55output: noexplanation: 5+5 = 10; 55 not divisible by 10input: 12output: yesexplanation: 1+2 = 3; 12 is divisible by 3
下面使用的方法如下: −
为了解决这个问题,我们需要从输入中获取每个数字,并计算每个数字的和,然后检查它是否能整除这个数字。
获取输入从个位开始获取每个数字,并将其加到一个初始值为零的总和变量中用数字的总和除以输入返回结果算法in function int isdivisible(long int num) step 1-> declare and initialize temp = num, sum = 0 step 2-> loop while num declare and initialize k as num % 10 set sum as sum + k set num as num / 10 end loop step 3-> if temp % sum == 0 then, return 1 step 4-> return 0 end functionin main() step 1-> declare and initialize num as 55 step 2-> if isdivisible(num) then, print "yes " step 3-> elseprint "no "
示例 演示
#include <stdio.h>// this function will check// whether the given number is divisible// by sum of its digitsint isdivisible(long int num) { long int temp = num; // find sum of digits int sum = 0; while (num) { int k = num % 10; sum = sum + k; num = num / 10; } // check if sum of digits divides num if (temp % sum == 0) return 1; return 0;}int main() { long int num = 55; if(isdivisible(num)) printf("yes
"); else printf("no
"); return 0;}
输出如果运行上述代码,将会生成以下输出 −
no
以上就是c程序检查一个数字是否可被其各位数字之和整除的详细内容。
其它类似信息

推荐信息