在C ++中可以被整数n整除的m位整数的计数

我们给了两个整数m和n。目的是计算可被n整除的m个数字。

如果m = 1,则数字为0、1、2、3、4、5、6、7、8、9和n = 3,然后可被3 = 0、3、6、9整除的数字count = 4。

让我们通过示例来理解。

输入-m = 2,n = 9

输出-可以被n-10整除的m个数字的计数

解释-10到99之间的数字可被9整除是-

18, 27, 36, 45, 54, 63, 72, 81, 90, 99

输入m = 3,n = 300

输出-被n整除的m个数字的计数:3

解释-100到999之间的数字可被300整除是-

300, 600, 900

以下程序中使用的方法如下

  • 我们取整数m和n。

  • 计算最大的m-1位数字为num1

  • 计算最大的m位数字为num2

  • 函数findCount(int n,int L,int R)以n和范围(介于num1和num2之间)作为输入,并返回该范围内所有可被n整除的数字。

  • 将初始计数设为0。

  • 从i = L到i = R。如果i%n == 0,则增加计数。

  • 返回计数作为结果。

示例

#include<bits/stdc++.h>
using namespace std;
//的m个数字的计数
//除数
int findCount(int n, int L, int R){
   int count=0;
   int i;
   for(int i=L;i<=R;i++){
      if(i%n==0)
         { count++; }
   }
   return count;
}
int main(){
   int M = 2, N = 9;
   int i;
   int num1 = 0; //largest m-1 digit no.
   for (i = 0; i < (M - 1); i++)
      num1 = (num1 * 10) + 9;
   int num2 = 0; //largest m digit no.
   for (i = 0; i < M; i++)
      num2 = (num2 * 10) + 9;
   cout<<"Count of M digit no.s divisible by N:"<<findCount(N,num1+1,num2);
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出:

Count of M digit no.s divisible by N:11