Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ค โปรแกรมตรวจสอบจำนวนที่หารด้วยหลักใด ๆ ของตัวเลขว่าลงตัวหรือไม่


ให้หมายเลข 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