ในส่วนนี้เราจะมาดูกันว่าตัวเลขสามารถแสดงเป็นตัวเลขต่อเนื่องกันได้หรือไม่ สมมติว่าตัวเลขคือ 27 ซึ่งสามารถแทนด้วย 8 + 9 + 10
ซึ่งสามารถแก้ไขได้ในสองแนวทางที่แตกต่างกัน วิธีแรกคือแนวทางที่ไร้เดียงสา ในแนวทางนั้นเราต้องเช็คว่า i + (i + 1) + (i + 2) เท่ากับตัวเลขหรือไม่ อีกวิธีที่มีประสิทธิภาพคือการตรวจสอบว่าจำนวนนั้นหารด้วย 3 ลงตัวหรือไม่ สมมติว่าตัวเลข x สามารถแทนด้วย 1 วินาทีติดต่อกันได้ 3 ครั้ง จากนั้น x =(y - 1) + y + (y + 1) =3y ดังนั้นจำนวนจะต้องหารด้วย 3 ลงตัว
ตัวอย่าง
#include <iostream>
using namespace std;
bool hasThreeNums(int n) {
if(n % 3 == 0){
return true;
}
return false;
}
int main() {
int num = 27;
if(hasThreeNums(num)){
cout << "Can be represented";
}else{
cout << "Cannot be presented";
}
} ผลลัพธ์
Can be represented