เราได้รับค่าประเภทจำนวนเต็ม สมมุติว่าจำนวน ภารกิจคือตรวจสอบว่าตัวเลขที่กำหนดเป็น Refactorable หรือไม่ ถ้าใช่ ให้พิมพ์ว่าตัวเลขนั้นเป็นตัวเลขที่ปรับโครงสร้างได้ มิฉะนั้น จะไม่สามารถพิมพ์ได้
จำนวนที่ปรับโครงสร้างได้คืออะไร
ตัวเลขสามารถปรับโครงสร้างใหม่ได้เมื่อหารด้วยจำนวนปัจจัยที่มีอยู่ทั้งหมด ตัวอย่างเช่น หมายเลข 9 สามารถ refactorable เนื่องจากมีจำนวนตัวประกอบทั้งหมด เช่น 3(1, 3, 9) และ 9 หารด้วย 3 ลงตัว จึงเป็นตัวเลขที่ปรับโครงสร้างใหม่ได้
ให้เราดูสถานการณ์อินพุตเอาต์พุตที่หลากหลายสำหรับสิ่งนี้ -
ป้อนข้อมูล − จำนวนเต็ม =9
ผลผลิต − เป็นตัวเลขที่ปรับโครงสร้างได้
คำอธิบาย − จำนวนสามารถปรับโครงสร้างใหม่ได้เมื่อหารด้วยจำนวนปัจจัยที่มีอยู่ทั้งหมด เราได้รับหมายเลข 9 ซึ่งจัดองค์ประกอบใหม่ได้เนื่องจากมีจำนวนตัวประกอบทั้งหมด เช่น 3(1, 3, 9) และ 9 หารด้วย 3 ลงตัวจึงเป็นจำนวนที่ปรับโครงสร้างใหม่ได้
ป้อนข้อมูล − จำนวนเต็ม =10
ผลผลิต − ไม่ใช่ตัวเลขที่ปรับโครงสร้างได้
คำอธิบาย − จำนวนสามารถปรับโครงสร้างใหม่ได้เมื่อหารด้วยจำนวนปัจจัยที่มีอยู่ทั้งหมด เราได้ตัวเลข 10 ซึ่งไม่สามารถปรับโครงสร้างใหม่ได้ เนื่องจากมีจำนวนตัวประกอบทั้งหมด เช่น 4(1, 2, 5, 10) และ 10 ไม่หารด้วย 4 ลงตัว จึงไม่เป็นจำนวนที่ปรับโครงสร้างใหม่ได้
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
ป้อนตัวแปรประเภทจำนวนเต็ม สมมุติว่า ตัวเลข
-
ส่งข้อมูลไปยังฟังก์ชัน check_Refactorable(int number) ของประเภทบูล
-
ภายในฟังก์ชัน check_Refactorable(int number)
-
ประกาศตัวแปรประเภทจำนวนเต็มนับเป็น 0
-
เริ่มวนรอบ FOR จาก i ถึง 1 จนถึง i น้อยกว่า sqrt(number) ภายในลูป ให้ตรวจสอบ IF number % i =0 จากนั้นตรวจสอบ IF number / i =i จากนั้นให้เพิ่มจำนวนขึ้นก่อน 1
-
มิฉะนั้น ตั้งค่าการนับเป็นจำนวน + 2
-
ส่งคืนจำนวน % นับ ==0
-
-
พิมพ์ผลลัพธ์
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; bool check_Refactorable(int number){ int count = 0; for (int i = 1; i <= sqrt(number); ++i){ if(number % i==0){ if(number / i == i){ ++count; } else{ count += 2; } } } return number % count == 0; } int main(){ int number = 9; if(check_Refactorable(number) == 1){ cout<<"It is a Refactorable number"; } else{ cout<<"It isn't a Refactorable number"; } return 0; }
ผลลัพธ์
หากเรารันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้
It is a Refactorable number