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

นับหลักในตัวเลข N ที่หาร N ลงตัวใน C++


ให้ตัวเลข N งานคือหาจำนวนหลักใน N ที่หาร N ลงตัว

จุดสำคัญ

  • ถ้าหลักเป็น 0 ให้ข้าม (ไม่นับ)

  • ถ้าหลักซ้ำและหารลงตัว ให้นับตามจำนวนครั้งที่ปรากฏ เช่น 2240 หลัก 2 ปรากฏ 2 ครั้ง หาร 2240 ลงตัว นับ 2 ครั้ง

อินพุต − number = 2240

เอาต์พุต − count is 3

คำอธิบาย − หลักคือ 2,2,4,0 ตัว 2,2,4 หาร 2240 ลงตัว นับ 3 ครั้ง ข้าม 0

อินพุต − number = 755

เอาต์พุต − count is 2

แนวทาง

  • รับตัวเลข num

  • วนลูปแยกหลักด้วย %10 และ /10

  • ถ้าหลัก > 0 และ num % หลัก == 0 ให้นับ

ตัวอย่าง

#include <bits/stdc++.h> 
using namespace std; 

int count(int num){ 
    int a=num, count=0, rem; 
    while(a>0){ 
        rem=a%10; 
        if(rem > 0 && num%rem==0) count++; 
        a=a/10; 
    } 
    return count; 
} 

int main(){ 
    int num = 2240; 
    cout<<"Count of digits in given number "<<num<<" which divide N are: "<<count(num); 
    return 0; 
}

เอาต์พุต

Count of digits in given number 2240 which divide N are: 3