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

โปรแกรม C ตรวจสอบว่าตัวเลขหารด้วยหลักของมันเองลงตัวหรือไม่

ได้รับตัวเลข n ตรวจสอบว่ามีหลักใดในตัวเลขที่หาร n ลงตัวหรือไม่

เช่น 128625 หาร 5 ลงตัว และ 5 เป็นหลักหนึ่งของตัวเลข

ตัวอย่าง

Input: 53142  Output: yes (หาร 1, 2, 3 ลงตัว)
Input: 223    Output: No  (ไม่หาร 2 หรือ 3 ลงตัว)

แนวทาง

  • เริ่มจากหลักหน่วย (n % 10)
  • ตรวจสอบหารลงตัวหรือไม่
  • ตัดหลักหน่วยทิ้ง (n /= 10)
  • ทำซ้ำจน n = 0

อัลกอริทึม

Start
ฟังก์ชัน divisible(long long int n):
    temp = n
    while n != 0:
        k = n % 10
        if temp % k == 0 return 1
        n = n / 10
    return 0

main():
    n = 654123
    if divisible(n) print "Yes" else print "No"
Stop

โค้ดตัวอย่าง

#include <stdio.h>

int divisible(long long int n) {
    long long int temp = 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