ให้ตัวเลข 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