คำถามติดแท็ก math

ความท้าทายเกี่ยวข้องกับคณิตศาสตร์ ลองพิจารณาใช้แท็กเฉพาะเจาะจงมากขึ้น: [number] [number-theory] [arithmetic] [combinatorics] [graph-theory] [เรขาคณิต] [abstract-algebra]

15
ตรวจสอบว่าหมายเลข 2017-friable โดยไม่มีช่วงเวลาในซอร์สโค้ดของคุณ
จากหลายปีที่ผ่านมาฉันได้ทำเรื่องท้าทายนี้ปี 2017 เป็นปีแรกที่มีจำนวนมาก ดังนั้นคำถามจะเกี่ยวกับจำนวนเฉพาะและคุณสมบัติของพวกเขา งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่จะใช้จำนวนเต็มบวกขนาดใหญ่โดยพลการเป็นอินพุตและเอาต์พุตหรือส่งคืนหรือไม่จำนวน2,017-friableนั่นคือไม่ว่าปัจจัยสำคัญที่ใหญ่ที่สุดในจำนวนนั้นคือ 2,017 หรือน้อยกว่า ตัวอย่างอินพุตและเอาต์พุต: 1 (has no prime factors) true 2 (= 2) true 80 (= 2 x 2 x 2 x 2 x 5) true 2017 (= 2017) true 2019 (= 3 x 673) true 2027 (= 2027) false 11111 (= 41 x 271) true …

30
หมายเลขนี้สามารถเขียนในรูปแบบ (3 ^ x) - 1 รูปแบบได้หรือไม่?
ท้าทาย: สร้างโปรแกรมที่ยอมรับจำนวนเต็มบวกและตรวจสอบว่าสามารถเขียนในรูปแบบของ (3 ^ x) -1, โดยที่X เป็นจำนวนเต็มบวกอีกตัว หากเป็นไปได้ให้ส่งออก X ถ้ามันไม่สามารถเอาท์พุท -1 หรือfalsyคำสั่ง ตัวอย่างอินพุต / เอาท์พุต การป้อนข้อมูล: 2 มันสามารถเขียนได้เป็น (3 ^ 1) - 1 ดังนั้นเราจึงเอาท์พุท x ซึ่งก็คือ 1 เอาท์พุท: 1 การป้อนข้อมูล: 26 26 สามารถเขียนเป็น (3 ^ 3) - 1 ดังนั้นเราจึงส่งออก x (3) เอาท์พุท: 3 การป้อนข้อมูล: 1024 1024 ไม่สามารถเขียนในรูปแบบของ (3 ^ …

30
Goodness Giza Golf!
"หมายเลข Giza" หรือที่รู้จักกันเรียกขานว่าTimmy Numberคือหมายเลขใด ๆ ที่ตัวเลขแสดงถึงปิรามิด ( A134810 ) ตัวอย่างเช่น "12321" เป็นหมายเลข giza เพราะสามารถมองเห็นเป็นดังนี้: 3 2 2 1 1 อย่างไรก็ตามบางอย่างเช่น "123321" ไม่ใช่หมายเลขกิซ่าเพราะมีสองหลักที่ด้านบนของปิรามิด 33 2 2 1 1 กล่าวอีกนัยหนึ่งตัวเลขคือหมายเลข Giza หากตรงตามเงื่อนไขต่อไปนี้ทั้งหมด: มีเลขคี่เป็นเลขหลักสำคัญและเลขกลางนั้นใหญ่ที่สุด มันเป็น Palindromic (อ่านไปข้างหน้าหรือข้างหลังเดียวกัน) และ ในช่วงครึ่งแรกของตัวเลขจะเพิ่มขึ้นอย่างเข้มงวดโดยหนึ่ง (เนื่องจากต้องเป็น palindromic นี่หมายความว่าครึ่งหลังของตัวเลขจะต้องลดลงอย่างเข้มงวดโดยหนึ่ง) คุณต้องเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้จำนวนเต็มบวกเป็นอินพุตและตรวจสอบว่าเป็นหมายเลข Giza หรือไม่ คุณอาจรับอินพุตเป็นสตริงหรือเป็นตัวเลขก็ได้ หากเป็นหมายเลข Giza ให้ส่งออกค่าจริง มิฉะนั้นค่าเท็จ มีหมายเลขกิซ่าทั้งหมด 45 หมายเลขดังนั้นหนึ่งในอินพุตเหล่านี้ควรส่งผลให้เกิดค่าจริง: …

30
ปัญหาข้าวและหมากรุก
ตำนานของอินเดียเล่าเรื่องราวของนักประดิษฐ์ที่ถูกกล่าวหาในเกมหมากรุกซึ่งสร้างความประทับใจให้จักรพรรดิแห่งอินเดียด้วยเกมของเขามากจนเขาจะได้รับรางวัลเมื่อถามอะไรก็ตาม ชายคนนั้นบอกว่าเขาต้องการที่จะจ่ายในข้าว เขาต้องการเมล็ดข้าวสำหรับตารางแรกของกระดานหมากรุกสองสำหรับสอง, สี่สำหรับสาม, แปดสำหรับสี่และต่อ ๆ ไปจนถึงจัตุรัส 64 จักรพรรดิประหลาดใจที่ชายคนนั้นขอรางวัลเล็ก ๆ น้อย ๆ เช่นนี้ แต่เมื่อนักคณิตศาสตร์ของเขาเริ่มนับเขาก็สูญเสียหนึ่งในจังหวัดของเขา งาน กำหนดความยาวด้านข้างของกระดานหมากรุกสมมุติ (ซึ่งคือ 8 บนกระดานหมากรุกเริ่มต้น) และตัวทวีคูณระหว่างกำลังสอง (ซึ่งเป็น 2 ในตำนาน) คำนวณจำนวนข้าวที่จักรพรรดิต้องจ่ายให้กับผู้ชาย หมายเหตุ ความยาวด้านจะเป็นจำนวนเต็มบวกเสมอ ตัวคูณอาจเป็นจำนวนตรรกยะแทนก็ได้ หากภาษาที่คุณเลือกไม่สามารถแสดงตัวเลขที่มีขนาดใหญ่มากมันก็โอเคตราบใดที่โปรแกรมของคุณสามารถประมวลผลอินพุตที่เล็กลงได้อย่างถูกต้อง นอกจากนี้หากภาษาที่คุณเลือกใช้ปัดเศษค่าที่มากขึ้น (ด้วยเครื่องหมายอธิบาย) มันก็โอเคถ้าค่าเหล่านั้นถูกต้องโดยประมาณ Testcases Input (side length, multiplier) => Output 8, 2 => 18446744073709551615 3, 6 => 2015539 7, 1.5 => 850161998.2854 …
41 code-golf  math 

30
ย้อนกลับสัญกรณ์โปแลนด์
คุณต้องประเมินสตริงที่เขียนในรูปแบบReverse Polishและแสดงผลลัพธ์ โปรแกรมต้องยอมรับอินพุตและส่งคืนเอาต์พุต สำหรับภาษาโปรแกรมที่ไม่มีฟังก์ชั่นในการรับอินพุต / เอาต์พุตคุณสามารถใช้ฟังก์ชันเช่น readLine / print คุณไม่ได้รับอนุญาตให้ใช้ "eval" ใด ๆ ในโปรแกรม เบอร์และผู้ประกอบการจะถูกแยกออกโดยหนึ่งหรือมากกว่าช่องว่าง คุณต้องสนับสนุนอย่างน้อย +, -, * และ / โอเปอเรเตอร์ คุณต้องเพิ่มการรองรับกับจำนวนลบ (เช่น-4ไม่ใช่สิ่งเดียวกับ0 4 -) และหมายเลขทศนิยม คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นถูกต้องและปฏิบัติตามกฎด้านบน กรณีทดสอบ การป้อนข้อมูล: -4 5 + เอาท์พุท: 1 การป้อนข้อมูล: 5 2 / เอาท์พุท: 2.5 การป้อนข้อมูล: 5 2.5 / เอาท์พุท: 2 การป้อนข้อมูล: 5 1 …
41 code-golf  math 

30
การย้ายขั้นต่ำที่เจียมเนื้อเจียมตัว
ได้รับแรงบันดาลใจจากคำถามที่ Stack Overflow ชื่อที่นี่เป็นความผิดทั้งหมดของฉัน ความท้าทาย รับรายการจำนวนเต็มบวกที่มีอย่างน้อยสองรายการแทนที่แต่ละตัวเลขด้วยจำนวนต่ำสุดของรายการทั้งหมดยกเว้นตัวเอง กรณีทดสอบ [4 3 2 5] -> [2 2 3 2] [4 2 2 5] -> [2 2 2 2] [6 3 5 5 8] -> [3 5 3 3 3] [7 1] -> [1 7] [9 9] -> [9 9] [9 8 9] -> …

30
จำนวนเต็มมากมาย!
จำนวนมากมายเป็นจำนวนใด ๆ ที่ผลรวมของตัวหารที่เหมาะสมของมันมีค่ามากกว่าจำนวนเดิม ตัวอย่างเช่นตัวหารที่เหมาะสมของ 12 คือ: 1, 2, 3, 4, 6 และการรวมผลลัพธ์เหล่านี้ใน 16 เนื่องจาก 16 มีขนาดใหญ่กว่า 12, 12 จึงอุดมสมบูรณ์ โปรดทราบว่าสิ่งนี้ไม่รวม "Perfect numbers" เช่นตัวเลขที่เท่ากับผลรวมของตัวหารที่เหมาะสมเช่น 6 และ 28 งานของคุณในวันนี้คือการเขียนโปรแกรมหรือฟังก์ชั่นที่พิจารณาว่ามีจำนวนมากหรือไม่ โปรแกรมของคุณควรใช้จำนวนเต็มเดียวเป็นอินพุทและเอาท์พุทค่าความจริง / ผิดพลาดขึ้นอยู่กับว่ามันมีอยู่มากมายหรือไม่ คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นจะถูกต้องเสมอและมากกว่า 0 ดังนั้นสำหรับอินพุตที่ไม่ดีพฤติกรรมที่ไม่ได้กำหนดนั้นดี คุณสามารถนำเข้าและส่งออกของคุณในรูปแบบที่เหมาะสมเช่น STDIN / STDOUT ไฟล์หรือค่าอาร์กิวเมนต์ / ค่าส่งคืนจะยอมรับได้ สำหรับการอ้างอิงต่อไปนี้เป็นจำนวนที่มากถึง 100: 12, 18, 20, 24, 30, 36, 40, 42, …

30
พิมพ์พวงของตัวเลขที่ไม่น่าสนใจ!
จำนวนจืด (ซึ่งผมโดยสิ้นเชิงไม่ได้ทำขึ้นเพียงสำหรับความท้าทายนี้) จะถูกสร้างขึ้นเช่นนี้ รับจำนวนเต็มบวก N สร้างหมายเลขใหม่ O โดยเพิ่มตัวเลขของ N ที่ส่วนท้ายของ N หมายเลขที่ไม่น่าสนใจสุดท้ายคือ O * N ตัวอย่างเช่นสำหรับ N = 12: O = 1212 O * N = 1212 * 12 หมายเลขสุดท้ายคือ 14544 อินพุต จำนวนเต็มบวก N (N> 0) หรือเทียบเท่าภาษาของคุณ คุณไม่จำเป็นต้องรับอินพุตที่ไม่ถูกต้อง เอาท์พุต หมายเลขที่ไม่น่าสนใจที่สอดคล้องกัน กรณีทดสอบ 1 -> 11 2 -> 44 3 -> 99 …

30
ตัวหารร่วมมาก
งานของคุณคือการคำนวณตัวหารร่วมมาก (GCD) ที่ยิ่งใหญ่ที่สุดของจำนวนเต็มสองจำนวนที่ได้รับในโค้ดน้อยที่สุดเท่าที่จะเป็นไปได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นรับอินพุตและส่งคืนเอาต์พุตผ่านวิธีมาตรฐานที่ยอมรับของเรา (รวมถึง STDIN / STDOUT, พารามิเตอร์ฟังก์ชัน / ค่าส่งคืน, อาร์กิวเมนต์บรรทัดคำสั่ง ฯลฯ ) อินพุตจะเป็นจำนวนเต็มสองจำนวนที่ไม่เป็นลบ คุณควรจะสามารถจัดการกับช่วงเต็มได้รับการสนับสนุนโดยประเภทจำนวนเต็มเริ่มต้นของภาษาของคุณหรือช่วง[0,255]ใดก็ตามที่มากกว่า คุณรับประกันได้ว่าอย่างน้อยหนึ่งอินพุตจะไม่ใช่ศูนย์ คุณไม่ได้รับอนุญาตให้ใช้บิวด์อินที่คำนวณ GCD หรือ LCM (ตัวคูณร่วมน้อย) ใช้กฎมาตรฐานของกอล์ฟ กรณีทดสอบ 0 2 => 2 6 0 => 6 30 42 => 6 15 14 => 1 7 7 => 7 69 25 => 1 21 12 …

22
ปี่ธรรมชาติ # 0 - ร็อค
เป้าหมาย สร้างโปรแกรม / ฟังก์ชั่นที่รับอินพุตNตรวจสอบว่าNคู่ของจำนวนเต็มแบบสุ่มนั้นค่อนข้างดีและส่งคืนsqrt(6 * N / #coprime)หรือไม่ TL; DR ความท้าทายเหล่านี้เป็นการจำลองอัลกอริธึมที่ต้องการเพียงแค่ธรรมชาติและสมองของคุณ หากคุณต้องการ Pi ในระหว่างการเปิดเผยซอมบี้วิธีการเหล่านี้จะไม่เปลืองกระสุน ! มีอีกแปดความท้าทายที่จะมา ชำระเงินโพสต์แซนด์บ็อกซ์เพื่อให้คำแนะนำ การจำลอง เรากำลังจำลองอะไร ความน่าจะเป็นที่สองจำนวนเต็มแบบสุ่มนั้นค่อนข้างไพเราะ (เช่น coprime หรือ gcd == 1) 6/Pi/Piดังนั้นวิธีธรรมชาติในการคำนวณ Pi ก็คือการตักก้อนหินขึ้นสองถัง (หรือกำมือ) นับพวกเขา; ดูว่าgcdของพวกเขาคือ 1; ทำซ้ำ หลังจากที่ทำเช่นนี้คู่หลายครั้งจะมีแนวโน้มต่อsqrt(6.0 * total / num_coprimes) Piหากการคำนวณสแควร์รูทในโลกหลังวิกฤติทำให้คุณกังวลไม่ต้องกังวล! มีวิธีการของนิวตันสำหรับสิ่งนั้น เราจำลองสิ่งนี้ได้อย่างไร รับอินพุต N ทำตามNเวลาต่อไปนี้: สร้างเลขจำนวนเต็มบวกแบบสุ่มiและj กับ 1 <= i …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

29
Pseudofactorial
มีจำนวนที่ค่อนข้างอยากรู้อยากเห็นซึ่งบางครั้งก็ปรากฏขึ้นในปัญหาทางคณิตศาสตร์หรือปริศนา pseudofactorial (N) เป็นพหุคูณสามัญน้อยที่สุด (เช่นต่ำสุด) ของตัวเลข 1 ถึง N; มันคือจำนวนต่ำสุดซึ่งมีตัวเลขทั้งหมดตั้งแต่ 1 ถึง N เป็นปัจจัย เช่น pseudofactorial (7) = 3 * 4 * 5 * 7 ซึ่งเหมือนกับ 7! ยกเว้นว่ามีการลบ 2 และ 6 ออกเนื่องจากมีอยู่ในข้อกำหนดอื่น เขียนโปรแกรมเพื่อคำนวณ pseudofactorial (N) และเช่นเคยรหัสสั้นที่สุดชนะ นี่คือรายการสั้น ๆ สำหรับการใช้งานของคุณ เพิ่มเติมกรณีทดสอบที่สามารถพบได้ใน OEIS ภายใต้A003418 factorial: 1 2 6 24 120 720 5040 …

15
มองขึ้นไปบนฟ้า! มันเป็นอาร์เรย์ที่ยอดเยี่ยมมาก!
ได้รับแรงบันดาลใจจากคำถามนี้จากเพื่อน ๆคู่แข่งของเราในการตรวจสอบรหัส คำนิยาม อาร์เรย์ซุปเปอร์เป็นอาร์เรย์ที่แต่ละองค์ประกอบใหม่ในอาร์เรย์มีขนาดใหญ่กว่าผลรวมขององค์ประกอบทั้งหมดก่อนหน้านี้ด้วย {2, 3, 6, 13}เป็นอาเรย์ super เพราะ 3 > 2 6 > 3 + 2 (5) 13 > 6 + 3 + 2 (11) {2, 3, 5, 11}คือไม่อาร์เรย์สุดเพราะ 3 > 2 5 == 3 + 2 11 > 5 + 3 + 2 อาร์เรย์ duperเป็นอาร์เรย์ที่แต่ละองค์ประกอบใหม่ในอาร์เรย์มีขนาดใหญ่กว่าสินค้าทุกองค์ประกอบก่อนหน้านี้ด้วย {2, 3, …

30
การทดสอบการแบ่งแยก
งาน ได้รับสองจำนวนเต็มบวกอย่างเคร่งครัดnและdเป็น input ตรวจสอบว่าnคือเท่ากันหารโดยdคือถ้ามีจำนวนเต็มคิวn = qdดังกล่าวว่า คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานของเราในการรับอินพุตและให้เอาต์พุต เอาท์พุทควรจะเป็นtruthy หรือค่า falsy ; ความจริงถ้าnหารด้วยdและเป็นเท็จอย่างอื่น รหัสของคุณต้องจัดการกับจำนวนเต็มเท่านั้นซึ่งสามารถเป็นตัวแทนได้จริงตราบใดที่มันใช้ได้กับเลขจำนวนเต็ม 8 บิตที่ลงชื่อทั้งหมด อย่างไรก็ตามอัลกอริทึมของคุณต้องใช้งานสำหรับจำนวนเต็มขนาดใหญ่โดยพลการ คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - ชนะ กรณีทดสอบ n, d output 1, 1 truthy 2, 1 truthy 6, 3 truthy 17, 17 truthy 22, 2 truthy 1, 2 falsy 2, 3 falsy 2, 4 …

20
พิมพ์ไพรม์ nth ที่มี n
คำถามนี้จะเป็นการบิดในการค้นหาnหมายเลขเฉพาะ ท้าทาย คุณต้องเขียนโปรแกรมที่จะรับหนึ่งอินพุทnและเอาท์พุทnหมายเลขnไพรเวตตัวที่มีการแทนค่าทศนิยมประกอบด้วยการแทนค่าทศนิยมในรูปของการลบ สับสน? นี่คือตัวอย่างบางส่วน. n=1 Primes: 2, 3, 5, 7, 11 ^1 first prime that contains a 1 Output: 11 n=2 Primes: 2, 3, 5, 7, 11, 13, 17, 19, 23 ^1 ^2 second prime that contains a 2 Output: 23 n=3 Primes: 2, 3, 5, 7, 11, 13, …

3
สร้างรูปห้าเหลี่ยมที่หลีกเลี่ยงการใช้เข็มทิศ
กฎระเบียบ คุณจะเริ่มต้นด้วยสององค์ประกอบเท่านั้น: คะแนนAAAและเช่นนั้นBBBA ≠ BA≠BA \neq BB จุดเหล่านี้ใช้ระนาบที่ไม่มีที่สิ้นสุดในทุกทิศทาง ในขั้นตอนใด ๆ ในกระบวนการคุณสามารถทำหนึ่งในสามขั้นตอนต่อไปนี้: ลากเส้นที่ผ่านจุดสองจุด วาดวงกลมที่มีศูนย์กลางที่จุดหนึ่งเพื่อให้อีกจุดหนึ่งอยู่บนวงกลม เพิ่มจุดใหม่ที่วัตถุสองรายการ (เส้นและวงกลม) ตัดกัน เป้าหมายของคุณคือการสร้าง 5 คะแนนเพื่อให้เกิดจุดยอดของรูปห้าเหลี่ยมปกติ (รูปหลายเหลี่ยมนูนที่มีความยาวเท่ากับ 5 ด้าน) โดยใช้วงกลมน้อยที่สุดเท่าที่จะทำได้ แน่นอนว่าคุณอาจมีคะแนนอื่น ๆ แต่ 5 คะแนนต้องมีรูปห้าเหลี่ยมปกติ คุณไม่จำเป็นต้องวาดขอบรูปห้าเหลี่ยมเพื่อให้คะแนน เกณฑ์การให้คะแนน เมื่อเปรียบเทียบคำตอบสองคำตอบสิ่งที่วาดวงกลมน้อยกว่าจะดีกว่า ในกรณีที่เสมอกันเป็นวงกลมคำตอบที่วาดเส้นที่น้อยที่สุดนั้นดีกว่า ในกรณีที่เสมอกันทั้งในวงกลมและเส้นคำตอบที่เพิ่มจุดที่น้อยที่สุดจะดีกว่า ต่อต้านกฎ แม้ว่ารายการกฎจะละเอียดถี่ถ้วนและรายละเอียดทุกอย่างที่คุณสามารถทำได้คือไม่เพียงเพราะฉันไม่ได้บอกว่าคุณไม่สามารถทำอะไรไม่ได้หมายความว่าคุณทำได้ คุณไม่สามารถสร้างวัตถุ "โดยพลการ" สิ่งปลูกสร้างบางอย่างที่คุณจะพบจะคิดว่าเพิ่มจุดที่ตำแหน่ง "โดยพลการ" และทำงานจากที่นั่น คุณไม่สามารถเพิ่มคะแนนใหม่ในสถานที่อื่นนอกเหนือจากทางแยก คุณไม่สามารถคัดลอกรัศมีได้ สิ่งปลูกสร้างบางอย่างจะเกี่ยวข้องกับการตั้งเข็มทิศให้เป็นรัศมีระหว่างจุดสองจุดแล้วหยิบมันขึ้นมาแล้ววาดวงกลมอื่น ๆ คุณทำสิ่งนี้ไม่ได้ คุณไม่สามารถทำการ จำกัด กระบวนการได้ สิ่งปลูกสร้างทั้งหมดจะต้องมีจำนวนขั้นตอนที่แน่นอน ไม่ดีพอที่จะเข้าหาคำตอบแบบไม่แสดงอาการ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.