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

โปรแกรม Osiris ตัวเลข C 3 หลัก?


ที่นี่เราจะเห็นหมายเลขโอซิริส เลขโอซิริสคือจำนวนที่เท่ากับผลรวมของการเรียงสับเปลี่ยนของตัวอย่างย่อยของตัวเลขของตัวเอง สมมติว่าตัวเลขคือ 132 จากนั้นหากเราคำนวณ {12 + 21 + 13 + 31 + 23 + 32} ก็จะเท่ากับ 132 เช่นกัน ดังนั้นตัวเลขดังกล่าวจึงเป็นเลขโอซิริส เราต้องเช็คว่าเบอร์ที่ให้มานั้นเป็นเบอร์โอซิริสหรือเปล่า

วิธีการเป็นเรื่องง่าย ถ้าเราวิเคราะห์ตัวเลข แต่ละหลักจะเกิดขึ้นสองครั้งเพื่อให้อยู่ในตำแหน่งเดียวและตำแหน่งหลักสิบ เราจึงตรวจได้โดยการคูณ 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
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