ให้หมายเลข n ภารกิจคือค้นหาว่าตัวเลขใด ๆ ในตัวเลขหารตัวเลขทั้งหมดหรือไม่ เหมือนเราได้รับตัวเลข 128625 หารด้วย 5 ลงตัวซึ่งมีอยู่ในจำนวนนั้นด้วย
ตัวอย่าง
Input: 53142 Output: yes Explanation: This number is divisible by 1, 2 and 3 which are the digits of the number Input: 223 Output: No Explanation: The number is not divisible by either 2 or 3
แนวทางที่ใช้ด้านล่างมีดังนี้ −
- เราจะเริ่มจากการวางยูนิตและใช้เลขที่ยูนิต
- ตรวจสอบว่าตัวเลขหารได้หรือไม่
- หารตัวเลขด้วย 10
- ไปยังขั้นตอนที่ 1 จนกว่าตัวเลขจะเป็น 0
อัลกอริทึม
Start
In function int divisible(long long int n)
Step 1-> Declare and initialize temp = n
Step 2 -> Loop while n {
Set k as n % 10
If temp % k == 0 then,
Return 1
Set n = n/ 10
End loop
Return 0
In Function int main()
Step 1-> Declare and initialize n = 654123
Step 2-> If (divisible(n)) then,
Print "Yes”
Step 3-> Else
Print "No” ตัวอย่าง
#include <stdio.h>
int divisible(long long int n) {
long long int temp = n;
// check if any of digit divides n
while (n) {
int k = n % 10;
if (temp % k == 0)
return 1;
n /= 10;
}
return 0;
}
int main() {
long long int n = 654123;
if (divisible(n)) {
printf("Yes\n");
}
else
printf("No\n");
return 0;
} ผลลัพธ์
หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Yes