 |
ไม่ค่อยมั่นใจเท่าไร ขอลองทำดู เริ่มจากเอา floor() function ออกก่อน จาก 1,000,000/n - 1,000,000/n+1 = 1 จะได้ว่า n มีค่าประมาณ 1,000 ไปลอง check ดู พบว่า floor(1,000,000/1,001) = 999 และ floor(1,000,000/999) = 1,001 เป็นไปตามเงื่อนไขของโจทย์ แสดงว่าตราบใดที่ floor(1,000,000/1,000+n) = 1,000-n floor(1,000,000/1,000-n) = 1,000+n n ก็ยังเป็นค่าที่ตรงตามเงื่อนไข
เมื่อพิจารณา 1,000,000/1,000+n จะพบว่าเศษคือ n^2 ดังนั้นเมื่อ n^2/1,000+n > 1 จะทำให้เงื่อนไขของโจทย์สะดุด จะเห็นได้ว่าจากข้างบน n มีค่าประมาณ 32 ทดสอบ floor(1,000,000/1032) = 968 แต่ floor(1,000,000/1033) = 968 เงื่อนไขสะดุดตั้งแต่ n = 1033
ในทำนองเดียวกัน เมื่อพิจารณา 1,000,000/1,000-n จะพบว่าเศษคือ n^2 ดังนั้นเมื่อ n^2/1,000-n > 1 จะทำให้เงื่อนไขของโจทย์สะดุด จะเห็นได้ว่าจากข้างบน n มีค่าประมาณ 31 ทดสอบ floor(1,000,000/969) = 1031 แต่ floor(1,000,000/968) = 1033 เงื่อนไขสะดุดตั้งแต่ n = 968 ดังนั้น n มีค่าตั้งแต่ 969 ถึง 1032 รวม 64 จำนวน
จากคุณ |
:
toxicobkk
|
เขียนเมื่อ |
:
16 ม.ค. 55 15:06:28
|
|
|
|
 |