在C ++中计算可被给定数字整除的n位数字

输出-n个数字的计数可除以给定数字:8

说明-可被12整除的2位数字是12、24、36、48、60、72、84和96,因此有8个可被12除整的2位数字。

输入-位数= 2,数字= 9

输出-n个数字的计数可除以给定数字-10

说明-可被9整除的2位数字是18、27、36、45、54、63、72、81、90和99,因此有10个可被9除整的两位数字。

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

  • 以元素数字和数字作为输入。

  • 将变量count分配为0,以计算被num整除的位数。

  • 声明并将digi_first设置为pow(10,digit-1)

  • 声明并将digi_last设置为pow(10,数字)

  • 现在声明并将d_first设置为digi_first%num,将d_last设置为digi_last%num。

  • 找到d_first和d_last后,将digi_first设置为(digi_first-d_first)+ num和digi_last设置为digi_last-d_last

  • 现在将count设置为((digi_last-digi_first)/ num + 1)。

  • 返回和打印计数。

示例

#include <cmath>
#include <iostream>
using namespace std;
int main(){
   int digit = 2 , num = 9;
   //存储计数
   int count= 0 ;
   int digi_first = pow(10, digit - 1);
   int digi_last = pow(10, digit);
   int d_first = digi_first % num;
   int d_last = digi_last % num;
   digi_first = (digi_first - d_first) + num;
   digi_last = digi_last - d_last;
   count = ((digi_last - digi_first) / num + 1);
   cout<<"Count of n digit numbers divisible by given number: "<<count<<"\n";
   return 0;
}

输出结果

如果运行上面的代码,我们将获得以下输出-

Count of n digit numbers divisible by given number: 10