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

โปรแกรม C ตรวจสอบเลข Osiris 3 หลัก


ที่นี่เราจะดูเลข Osiris (Osiris Number) คือเลขที่เท่ากับผลรวมของการเรียงสับเปลี่ยน (Permutations) ของตัวเลขย่อยของมันเอง สมมติเลขคือ 132 ถ้าคำนวณ {12 + 21 + 13 + 31 + 23 + 32} ก็จะได้ 132 เช่นกัน ดังนั้น 132 คือเลข Osiris เราต้องตรวจสอบว่าเลขที่กำหนดเป็นเลข Osiris หรือไม่

แนวทางง่ายๆ: หากวิเคราะห์เลข แต่ละหลักจะปรากฏ 2 ครั้ง (หนึ่งครั้งเป็นหลักสิบ และอีกครั้งเป็นหลักหน่วย) ดังนั้นเราสามารถตรวจสอบได้โดยคูณ 11 กับผลรวมของตัวเลขแต่ละหลัก

อัลกอริทึม

isOsirisNumber(n) -

Begin
    a := last digit
    b := second digit
    c := first digit
    digit_sum := a + b + c
    if n = (22 * digit_sum), then
        return true
    end if
    return false
End

ตัวอย่าง

#include <iostream>
using namespace std;
bool isOsirisNumber(int n) {
    int a = n % 10;
    int b = (n / 10) % 10;
    int c = n / 100;
    int sum = a + b + c;
    if (n == (22 * sum)) {
        return true;
    }
    return false;
}
int main() {
    int n = 132;
    if (isOsirisNumber(n))
        cout << "This is Osiris number";
    else
        cout << "This is Not Osiris number";
}

ผลลัพธ์

This is Osiris number