เราได้รับค่าประเภทจำนวนเต็ม สมมุติว่าจำนวน ภารกิจคือตรวจสอบว่าตัวเลขที่กำหนดเป็น 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