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

โปรแกรม C ตรวจสอบความต่างระหว่างผลรวมหลักคี่และหลักคู่

สมมติมีจำนวนเต็มยาว ต้องตรวจสอบว่าความต่างระหว่างผลรวมหลักตำแหน่งคี่ และผลรวมหลักตำแหน่งคู่ เป็น 0 หรือไม่ ตำแหน่งเริ่มจาก 0 (ซ้ายสุด)

ตัวอย่าง: 156486 ผลรวมตำแหน่งคี่ (5+4+6)=15 ผลรวมตำแหน่งคู่ (1+6+8)=15 เท่ากัน

วิธีแก้ 2 แบบ: 1) วนลูปคำนวณผลรวมสลับกัน 2) วิธีง่ายกว่า ถ้าตัวเลขหาร 11 ลงตัว ความต่างจะเป็น 0 กล่าวคือ ถ้าผลรวมตำแหน่งคี่และคู่เท่ากัน ตัวเลขจะหาร 11 ลงตัว

อัลกอริทึม

isDiffZero(n)

begin
    if n is divisible by 11, then
        return 1
    else
        return 0
    end if
end

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

#include <stdio.h>

long isDiffZero(int n) {
    if (n % 11 == 0)
        return 1;
    else
        return 0;
}

int main() {
    int n;
    printf("Enter a number: ");
    scanf("%d", &n);
    if (isDiffZero(n))
        printf("Difference is zero");
    else
        printf("Difference is non zero");
}

ผลลัพธ์

Enter a number: 156486
Difference is zero