我们给定一个数字N,而任务是找到将数字N除以数字后的位数。
如果数字为0,则应将其忽略,这意味着不会为0增加计数。
如果一个数字出现两次并将其除以数字,则计数将取决于该数字的出现。例如,给我们一个数字2240,在该数字中,每个数字(除0之外)将数字除以2,并且2出现两次,然后数字2的计数为2。
输入-数字= 2240
输出-计数为3
说明-将数字分解为数字,它将是2、2、4、0。现在检查是否2除以2240,如果是,则增加计数,否则移至下一位,在此数字2、2、4中将数字2240除以。 count将为3,并且在每种情况下都将忽略数字0。
输入-数字= 755
输出-计数为2
说明-将数字分解为数字,它将是7、5、5。现在检查是否将7除以755,如果是,则增加计数,否则移到下一位,在该数字5、5中将数字除以755,所以计数将为2并在任何情况下都忽略数字0
在整数变量中输入数字,例如num
开始循环直到num大于0
在循环中,将数字分解为数字,然后将结果继续存储在变量中,比如说rem
检查rem是否将数字除以是,然后将计数变量的值加1,否则将不增加计数变量的值。
当rem大于0时,将应用此检查语句,因为我们必须忽略0。
#include <bits/stdc++.h> using namespace std; int count(int num){ int a=num; int count=0,rem; while(a>0){ rem=a%10; if(rem > 0){ if(num%rem==0){ count++; } } a=a/10; } return count; } int main(){ int num = 2240; cout<<"Count of digits in given number "<<num<<" which divide N are: "<<count(num); return 0; }
输出结果
如果运行上面的代码,我们将获得以下输出-
Count of digits in given number 2240 which divide N are: 3