Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

นับจำนวน n หลักที่หารตัวเลขที่กำหนดลงตัวใน C++


ให้ d (จำนวนหลัก) และ num งานคือหาจำนวน d หลักที่หาร num ลงตัว

เช่น d=2 หมายถึงเลข 10-99 หาตัวที่หาร num ลงตัว

อินพุต − digit = 2, num = 12

เอาต์พุต − 8 (12,24,36,48,60,72,84,96)

อินพุต − digit = 2, num = 9

เอาต์พุต − 10 (18,27,36,45,54,63,72,81,90,99)

แนวทาง

  • คำนวณ digi_first = 10^(digit-1), digi_last = 10^digit

  • หา d_first = digi_first % num, 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)

ตัวอย่าง

#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