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

โปรแกรม C++ นับจำนวนหลักของตัวเลขที่หารตัวเลขนั้นลงตัว

สมมติให้ตัวเลขหนึ่ง เราต้องนับจำนวนหลักของตัวเลขที่หารตัวเลขนั้นลงตัว สมมติตัวเลขคือ 1012 ผลลัพธ์คือ 3 มีหลัก 3 หลักคือ 1, 1 และ 2 ที่หาร 1012 ลงตัว

เพื่อแก้ปัญหานี้ เราจะหาแต่ละหลักของตัวเลขโดยใช้การดำเนินการ modulus และตรวจสอบว่าตัวเลขหารด้วยหลักนั้นลงตัวหรือไม่ ถ้าหารลงตัว เพิ่มตัวนับ ถ้าหลักเป็น 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