มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ

สมัครสมาชิกฟรีเพื่อเห็นไฟล์แนบและดาวน์โหลดไฟล์ ขออภัยในความไม่สะดวก

ขอต้อนรับ ผู้มาเยือน กรุณา ล็อกอิน หรือ สมัครสมาชิก

ล็อกอินด้วยชื่อผู้ใช้ รหัสผ่่าน และระยะเวลาใช้งาน

 
Advanced search

41135 Posts in 6132 Topics- by 7750 Members - Latest Member: golf_1123
Pages: 1   Go Down
Print
Author Topic: บรรทัดต่อไปคืออะไรนะ  (Read 6874 times)
0 Members and 1 Guest are viewing this topic.
pattyphys
neutrino
*
Offline Offline

Posts: 110


I know it is your life, but my life is you.


« on: January 31, 2008, 05:29:38 PM »

ห่างหายไปนาน มีของมาฝาก พิจารณาตัวเลขต่อไปนี้

          1
         1 1
         2 1
       1 2 1 1
     1 1 1 2 2 1
 reading แล้วบรรทัดต่อไปคือเลขอะไรบ้าง
อันนี้เป็นปัญหาของโรงเรียนมัธยมในประเทศฝรั่งเศส มีเพื่อนชาวฝรั่งเศสถามผม  uglystupid2
Logged

I don't wanna live another day without you by my side.
psaipetc
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« Reply #1 on: January 31, 2008, 06:33:29 PM »

ลองอ่านบรรทัดที่ n ดังๆ แล้วมองที่บรรทัดที่ n-1 ดูครับ Smiley
Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
phys_pucca
Administrator
SuperHelper
*****
Offline Offline

Posts: 724


วิ่งตามฝัน


WWW
« Reply #2 on: January 31, 2008, 09:16:36 PM »

อ๋อ  great

3 1 2 2 1 1

 icon adore
Logged

icon adore  PHYSICS NEVER DIE
Nature uses only the longest thread to weave her patterns, so each small piece of her fabric reveals the organization of the entire tapestry. ; Richard P. Feynman

อย่าท้อ อย่าหยุด อย่าเบื่อ ; psaipetc
Peace
neutrino
*
Offline Offline

Posts: 477


« Reply #3 on: January 31, 2008, 10:00:57 PM »

ต่อไปก็
1 3 1 1 2 2 2 1  great

น่าจะคล้ายๆ กับที่ผมเคยเห็น

1
1 1
1 2
1 1 2 1
1 3 2 1
1 2 2 1 3 1
...
Logged

น้ำเงินขาว ดาวสวรรค์ ปัญญาชน เราทุกคนคือตราสถาบัน

P.S.P.2 สายวิทย์เฮฮา
psaipetc
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« Reply #4 on: January 31, 2008, 10:11:37 PM »

คำถามต่อไปก็คือ

เลขศูนย์เกิดครั้งแรกที่บรรทัดที่เท่าไร และ
จำนวนตัวเลขในบรรทัดที่ N มีกี่ตัว (โดยประมาณก็ได้) Smiley
Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
psaipetc
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« Reply #5 on: January 31, 2008, 11:13:25 PM »

ถ้าจะลองหาบรรทัดที่ N+1 หลังจากเรารู้บรรทัดที่ N (ซึ่งมีค่าเท่ากับ t) แล้ว เราอาจใช้ Mathematica ช่วยได้ดังนี้

ก่อนอื่นกำหนดฟังค์ชั่น g ที่จะรับเอา list ของตัวเลขที่ซ้ำเข้าไป แล้วให้จำนวนตัวเลขที่ซ้ำ และค่าของตัวเลขนั้นๆ เช่น g[{1,1,1}] คือ {3,1} เพราะมี 1 ซ้ำกัน 3 ตัว, g[{3,3}] คือ {2,3} เพราะมี 3 ซ้ำกัน 2 ตัว

g[t_] := {Length[t], t[[1]]}

จากนั้นก็ใช้ g ในฟังค์ชั่น readAloud ที่จะให้ตัวเลขตัวต่อไปถัดจาก t

readAloud[t_] := Module[{temp},
  temp = IntegerDigits[t];
  temp = Split[temp];
  temp = Map[g, temp];
  temp = Flatten[temp];
  FromDigits[temp]]

(IntegerDigits จะแยก t เป็นหลักหน่วย สิบ ร้อย พัน..., Split จะจัดกลุ่มตัวเลขที่ซ้ำๆกันเป็นกลุ่มๆ, Map[g, ..] จะให้ g ทำงานบนกลุ่มเลขที่ซ้ำ, Flatten จะทำให้ list ย่อยๆ รวมกันเป็น list ใหญ่อันเดียว และ FromDigits จะสร้างจำนวนขึ้นจากตัวเลขหลักหน่วย สิบ ร้อย พัน...)

จะได้ว่า readAloud[1] คือ 11, readAloud[11] คือ 21, readAloud[21] คือ 1211 ...

ถ้าจะแสดง 10 บรรทัดแรก ก็ใช้คำสั่ง NestList[readAloud, 1, 10] // TableForm จะได้

1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
13211311123113112211
11131221133112132113212221


ปล. ถ้าเขียน Mathematica คล่องแล้วอาจเขียน แบบนี้ก็ได้:
readAloud2[t_] :=  FromDigits[Flatten[Map[{Length[ # ], #[[1]]} &, Split[IntegerDigits[t]]]]]
สั้นดี แต่ถ้าผิดจะงงมากขึ้น
Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
pattyphys
neutrino
*
Offline Offline

Posts: 110


I know it is your life, but my life is you.


« Reply #6 on: January 31, 2008, 11:56:58 PM »

ขอบคุณมากครับทุกๆ คน โดยเฉพาะคุณ psaipetc ผมก็ไม่เคยคิดมาก่อนเลยว่า Mathematica จะเปลี่ยนการอ่านตัวเลขของเราเป็นโปรแกรมได้เลย  great
Logged

I don't wanna live another day without you by my side.
Pages: 1   Go Up
Print
Jump to:  

คุณสมบัติของเด็กดี

ไม่ฟังเวลามีการนินทากัน ไม่มองหาข้อด้อยของผู้อื่น ไม่พูดนินทาเหยีบบย่ำผู้อื่น