Cho một số n, nhiệm vụ là tìm xem có chữ số nào trong số đó chia hết cho số đó hay không. Giống như chúng ta được cho một số 128625 chia hết cho 5 cũng có trong số đó.
Ví dụ
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
Phương pháp được sử dụng bên dưới như sau -
- Chúng tôi sẽ bắt đầu từ địa điểm đơn vị và lấy số hiệu của địa điểm đơn vị.
- Kiểm tra xem số đó có chia hết được hay không
- Chia số có 10
- Thực hiện bước 1 cho đến khi con số là 0
Thuật toán
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”
Ví dụ
#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; }
Đầu ra
Nếu chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -
Yes