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

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

ได้รับตัวเลข n ตรวจสอบว่าผลรวมของหลักต่างๆ หาร n ลงตัวหรือไม่

เช่น 521 → 5+2+1=8 แต่ 521 หาร 8 ไม่ลงตัว

60 → 6+0=6 หาร 60 ลงตัว

ตัวอย่าง

Input: 55  Output: No (5+5=10, 55 หาร 10 ไม่ลงตัว)
Input: 12  Output: Yes (1+2=3, 12 หาร 3 ลงตัว)

แนวทาง

  • รับค่า input
  • วนลูปดึงหลักหน่วย (n % 10) บวกสะสมใน sum
  • ตัดหลักหน่วย (n /= 10)
  • ตรวจสอบ temp % sum == 0

อัลกอริทึม

Start
ฟังก์ชัน isDivisible(long int num):
    temp = num, sum = 0
    while num != 0:
        k = num % 10
        sum += k
        num /= 10
    if temp % sum == 0 return 1
    return 0

main():
    num = 55
    if isDivisible(num) print "yes" else print "no"
Stop

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

#include <stdio.h>

int isDivisible(long int num) {
    long int temp = num;
    int sum = 0;
    while (num) {
        int k = num % 10;
        sum += k;
        num /= 10;
    }
    if (temp % sum == 0) return 1;
    return 0;
}

int main() {
    long int num = 55;
    if (isDivisible(num)) printf("yes\n");
    else printf("no\n");
    return 0;
}

ผลลัพธ์

No