
给定一个数字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 // 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程序检查一个数字是否可被其各位数字之和整除的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444126.html
微信扫一扫
支付宝扫一扫