Mathcenter Forum  

Go Back   Mathcenter Forum > คณิตศาสตร์ทั่วไป > ปัญหาคณิตศาสตร์ทั่วไป
สมัครสมาชิก คู่มือการใช้ รายชื่อสมาชิก ปฏิทิน ข้อความวันนี้

ตั้งหัวข้อใหม่ Reply
 
เครื่องมือของหัวข้อ ค้นหาในหัวข้อนี้
  #1  
Old 27 มิถุนายน 2019, 20:52
ออฟ ออฟ ไม่อยู่ในระบบ
สมาชิกใหม่
 
วันที่สมัครสมาชิก: 26 มิถุนายน 2019
ข้อความ: 4
ออฟ is on a distinguished road
Default ช่วยหาวิธีคำนวณหาค่า X หน่อยครับ มืดแปดด้าน

(x Mod (256 * 256)) + ((x / (256 * 256) Mod 256) * 100000) = 15121591
ด้านบนเป็นสมการ ที่ทาง บริษัทที่จีนให้มาเพื่อ เข้ารหัส ที่นี้ถ้าเราป้อนในโปรแกรมเข้าไปด้วยค่า 9917527 แทนค่า X ค่าในสูตร
จะได้คำตอบ 15121591 แทนค่า
( 9917527 Mod (256 * 256)) + (ปัดเศษลง( 9917527 / (256 * 256) Mod 256) * 100000) = 15121591

ที่นี้ในมางกลับกันถ้าผมมีแค่ค่าคำตอบ 15121591 สามารถคิดย้อนกลับหาค่า X ได้ไหมครับ หรือใกล้เคียงที่สุด ค่า x จะต้องได้ 9917527
ขอบคุณครับ

01 กรกฎาคม 2019 09:13 : ข้อความนี้ถูกแก้ไขแล้ว 3 ครั้ง, ครั้งล่าสุดโดยคุณ ออฟ
ตอบพร้อมอ้างอิงข้อความนี้
  #2  
Old 01 กรกฎาคม 2019, 00:37
NaPrai's Avatar
NaPrai NaPrai ไม่อยู่ในระบบ
จอมยุทธ์หน้าหยก
 
วันที่สมัครสมาชิก: 02 กุมภาพันธ์ 2017
ข้อความ: 174
NaPrai is on a distinguished road
Default

ยังไม่เข้าใจโจทย์อะครับ ช่วยอธิบายเพิ่มหน่อยได้ไหมครับ
ตอบพร้อมอ้างอิงข้อความนี้
  #3  
Old 01 กรกฎาคม 2019, 09:13
ออฟ ออฟ ไม่อยู่ในระบบ
สมาชิกใหม่
 
วันที่สมัครสมาชิก: 26 มิถุนายน 2019
ข้อความ: 4
ออฟ is on a distinguished road
Default

(x Mod (256 * 256)) + ((x / (256 * 256) Mod 256) * 100000) = 15121591
ด้านบนเป็นสมการ ที่ทาง บริษัทที่จีนให้มาเพื่อ เข้ารหัส ที่นี้ถ้าเราป้อนในโปรแกรมเข้าไปด้วยค่า 9917527 แทนค่า X ค่าในสูตร
จะได้คำตอบ 15121591 แทนค่า
( 9917527 Mod (256 * 256)) + (ปัดเศษลง( 9917527 / (256 * 256) Mod 256) * 100000) = 15121591

ที่นี้ในมางกลับกันถ้าผมมีแค่ค่าคำตอบ 15121591 สามารถคิดย้อนกลับหาค่า X ได้ไหมครับ หรือใกล้เคียงที่สุด ค่า x จะต้องได้ 9917527
ขอบคุณครับ
ตอบพร้อมอ้างอิงข้อความนี้
  #4  
Old 01 กรกฎาคม 2019, 18:31
Amankris's Avatar
Amankris Amankris ไม่อยู่ในระบบ
กระบี่ธรรมชาติ
 
วันที่สมัครสมาชิก: 13 มกราคม 2007
ข้อความ: 2,492
Amankris is on a distinguished road
Default

อ้างอิง:
ให้ $f(n)$ คือเศษจากการหาร $n$ ด้วย $256^2$
และ $g(n)$ คือเศษจากการหาร $\left\lfloor\dfrac{n}{256^2}\right\rfloor$ ด้วย $256$
จงหาจำนวนเต็ม $x$ ที่ $f(x)+100000g(x)=15121591$
ใช่แบบนี้ไหมครับ
ไม่แน่ใจว่าต้องหาทั้งหมดด้วยรึเปล่า

01 กรกฎาคม 2019 18:33 : ข้อความนี้ถูกแก้ไขแล้ว 2 ครั้ง, ครั้งล่าสุดโดยคุณ Amankris
ตอบพร้อมอ้างอิงข้อความนี้
  #5  
Old 03 กรกฎาคม 2019, 16:44
ออฟ ออฟ ไม่อยู่ในระบบ
สมาชิกใหม่
 
วันที่สมัครสมาชิก: 26 มิถุนายน 2019
ข้อความ: 4
ออฟ is on a distinguished road
Default

อ้างอิง:
ข้อความเดิมเขียนโดยคุณ Amankris View Post
ใช่แบบนี้ไหมครับ
ไม่แน่ใจว่าต้องหาทั้งหมดด้วยรึเปล่า
แทนค่าได้ครับ ว่าแต่ขอตัวอย่าง แก้สมการให้ดูหน่อยครับ ถ้าคำตอบ= 5355507 x จะได้ค่าเท่าไรครับ
ตอบพร้อมอ้างอิงข้อความนี้
  #6  
Old 15 กรกฎาคม 2019, 20:41
ohmohm ohmohm ไม่อยู่ในระบบ
หัดเดินลมปราณ
 
วันที่สมัครสมาชิก: 14 กันยายน 2013
ข้อความ: 47
ohmohm is on a distinguished road
Default

ดูๆ ไป นึกถึงเลขฐานสองหรือฐานสิบหกในคอมพิวเตอร์ โดย $256 = 2^8$ ก็คือ 8 bit หรือเลขฐานสิบหก 2 หลัก (bit = binary digit จำนวนหลักของเลขฐานสอง) ถ้า $256*256 = 2^8*2^8 = 2^{16}$ ก็คือ 16 บิต หรือเลขฐานสิบหก 4 หลัก

ผมมองว่า (x Mod (256 * 256)) คือการเอาเฉพาะ 16 บิตด้านขวาสุดของ x (ถ้าเป็นเลขฐานสิบหก ก็ 4 หลัก)

ส่วน x / (256 * 256) คือการเอา x มาเลื่อน (shift) บิตไปทางขวา 16 บิต
จากนั้น Mod 256 อีกครั้ง คือการเอาเฉพาะ 8 บิตขวาสุด (ถ้าเป็นเลขฐานสิบหก ก็ 2 หลัก แสดงว่า x เป็นเลขฐานสิบหก จำนวน 6 หลัก)
จากนั้นเอามาคูณ 100000 (เลขฐานสิบ)

15121591 = 21591 + 15100000

21591 เมื่อแปลงเป็นเลขฐานสิบหก ได้ 0x5457
ส่วน 15100000 หาร 100000 ได้ 151 แปลงเป็นเลขฐานสิบหก ได้ 0x97
เอามาต่อกันได้ = 0x975457 = 9917527

ขออภัยถ้าใช้ภาษาคอมพิวเตอร์เยอะไปหน่อย

เพิ่มๆ ถ้าคำตอบ= 5355507

53=0x35
55507=0xD8D3

คำตอบคือ 0x35D8D3 = 3528915

15 กรกฎาคม 2019 20:47 : ข้อความนี้ถูกแก้ไขแล้ว 1 ครั้ง, ครั้งล่าสุดโดยคุณ ohmohm
ตอบพร้อมอ้างอิงข้อความนี้
  #7  
Old 24 กรกฎาคม 2019, 08:20
ออฟ ออฟ ไม่อยู่ในระบบ
สมาชิกใหม่
 
วันที่สมัครสมาชิก: 26 มิถุนายน 2019
ข้อความ: 4
ออฟ is on a distinguished road
Default

อ้างอิง:
ข้อความเดิมเขียนโดยคุณ ohmohm View Post
ดูๆ ไป นึกถึงเลขฐานสองหรือฐานสิบหกในคอมพิวเตอร์ โดย $256 = 2^8$ ก็คือ 8 bit หรือเลขฐานสิบหก 2 หลัก (bit = binary digit จำนวนหลักของเลขฐานสอง) ถ้า $256*256 = 2^8*2^8 = 2^{16}$ ก็คือ 16 บิต หรือเลขฐานสิบหก 4 หลัก

ผมมองว่า (x Mod (256 * 256)) คือการเอาเฉพาะ 16 บิตด้านขวาสุดของ x (ถ้าเป็นเลขฐานสิบหก ก็ 4 หลัก)

ส่วน x / (256 * 256) คือการเอา x มาเลื่อน (shift) บิตไปทางขวา 16 บิต
จากนั้น Mod 256 อีกครั้ง คือการเอาเฉพาะ 8 บิตขวาสุด (ถ้าเป็นเลขฐานสิบหก ก็ 2 หลัก แสดงว่า x เป็นเลขฐานสิบหก จำนวน 6 หลัก)
จากนั้นเอามาคูณ 100000 (เลขฐานสิบ)

15121591 = 21591 + 15100000

21591 เมื่อแปลงเป็นเลขฐานสิบหก ได้ 0x5457
ส่วน 15100000 หาร 100000 ได้ 151 แปลงเป็นเลขฐานสิบหก ได้ 0x97
เอามาต่อกันได้ = 0x975457 = 9917527

ขออภัยถ้าใช้ภาษาคอมพิวเตอร์เยอะไปหน่อย

เพิ่มๆ ถ้าคำตอบ= 5355507

53=0x35
55507=0xD8D3

คำตอบคือ 0x35D8D3 = 3528915
ใช่เลยครับวิธีนี้ สวรรค์เลยครับ ขอบคุณมากๆครับ ตอนนี้ผมใช้วิธีหาค่าด้วยวิธี ป้อนค่าแบบจนกว่าจะตรงกับคำตอบ โดยใช้การวนลูปจนเจอคำตอบ หารออกที่ละครึ่ง ขอบคุณมากจริงๆครับ มีอีกหลายที่ ที่รอคำตอบนี้ครับ
ตอบพร้อมอ้างอิงข้อความนี้
ตั้งหัวข้อใหม่ Reply



กฎการส่งข้อความ
คุณ ไม่สามารถ ตั้งหัวข้อใหม่ได้
คุณ ไม่สามารถ ตอบหัวข้อได้
คุณ ไม่สามารถ แนบไฟล์และเอกสารได้
คุณ ไม่สามารถ แก้ไขข้อความของคุณเองได้

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
ทางลัดสู่ห้อง


เวลาที่แสดงทั้งหมด เป็นเวลาที่ประเทศไทย (GMT +7) ขณะนี้เป็นเวลา 03:22


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Modified by Jetsada Karnpracha