查找将C除以数字的数字位数

假设给出一个数字。我们必须计算数字的位数,然后将数字平均分配。假设数字为1012,结果为3。三位数1、1和2将1012平均除。

为了解决这个问题,我们将使用模运算来找到数字的每个数字,并检查数字是否可被该数字整除,如果可以整除,则增加计数器。如果数字为0,则忽略该数字。

示例

#include<iostream>
using namespace std;
   int countDivDigit(int num) {
   int count = 0;
   int temp = num;
   while(temp){
      int div = temp%10;
      if(div != 0){
         if(num % div == 0)
            count++;
      }
      temp /= 10;
   }
   return count;
}
int main() {
   int num = 1012;
   cout << "Number of digits that divides " << num << " evenly, is: " << countDivDigit(num);
}

输出结果

Number of digits that divides 1012 evenly, is: 3