คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

15
ไม่ใช่โรมันประกอบไปด้วย
รับจำนวนเต็ม n ≥ 0 ให้เอาท์พุทในสัญกรณ์ที่ไม่ใช่ตำแหน่งฐาน -3 โดยใช้ตัวเลข139ABCDE…และตัวคั่น 1 ตัว ทุกบาทเป็นอำนาจติดต่อกัน 3 และตัวเลขทางด้านซ้ายของตัวคั่นจะถูกทำให้ไร้ผลเช่น A931 | B → 81- (1 + 3 + 9 + 27) → 41 ตัวเลขอาจปรากฏขึ้นเพียงครั้งเดียว ให้ค่าของตัวเลขเป็นจริง: ค่าของมันถ้าตัวเลขคือ 1, 3 หรือ 9 27 ถ้าหลักคือ A 3 เท่าของมูลค่าหลักขวาก่อนที่จะสำหรับB..Z การส่งออกของคุณควรตอบสนองผลรวม (ค่าของตัวเลขไปทางขวาของ|) - ผลรวม (ค่าของตัวเลขที่ด้านซ้ายของ|) == การป้อนข้อมูล ตัวอย่าง input output ---------------- 0 …

12
Drunkard's Journey Home
Drunkard's Journey Home ในการท้าทายนี้คุณต้องเขียนโปรแกรมที่เลียนแบบคนเมาที่เดินโซเซกลับบ้านจากบาร์ การป้อนข้อมูล: อินพุตจะเป็นเมทริกซ์คำแทน (แสดงกราฟกำกับ) ซึ่งแสดงเส้นทางที่คนเมาสามารถรับได้ ในแต่ละสถานที่คนขี้เมาจะเลือกเส้นทางเดียวโดยการสุ่ม (แต่ละตัวเลือกมีโอกาสเท่ากันโดยประมาณและไม่ขึ้นอยู่กับตัวเลือกก่อนหน้า) เพื่อติดตาม สมมติว่าคนเมาเหล้าเริ่มที่บาร์เสมอ (แถวแรกในเมทริกซ์ adjacency) หากคนขี้เมาเข้าสู่จุดจบสามารถสันนิษฐานได้ว่าเขาเดินทางกลับบ้านหรือถูกจับกุมเพราะความมึนเมาของสาธารณะและโปรแกรมควรกลับไปตามเส้นทางของเขา สามารถสันนิษฐานได้ว่ากราฟจะมีจุดจบอย่างน้อยหนึ่งจุดเสมอ นอกจากนี้ยังสามารถสันนิษฐานได้ว่าคนเมาเหล้าจะสามารถออกจากบาร์ได้เสมอ (แถวแรกจะไม่ใช่ศูนย์ทั้งหมด) และถ้าคนขี้เมาติดอยู่ในสถานที่ตั้งแถวนั้นจะเป็นศูนย์โดยศูนย์ทั้งหมด เอาท์พุท: ผลลัพธ์จะเป็นเส้นทางที่คนขี้เมาใช้ในความพยายามที่จะทำให้เขากลับบ้าน ค่าสำหรับตำแหน่งที่ตั้งสามารถเป็นศูนย์หรือดัชนีหนึ่งรายการก็ได้ ตัวอย่าง: Input [1,0,1,1] [0,0,0,0] [1,0,0,0] [1,1,1,1] Possible Outputs [0,2,0,3,2,0,0,3,1] [0,3,0,3,1] Input [0,1,1,1,0,1] [1,0,1,0,1,1] [0,0,0,0,0,0] [0,0,0,0,0,1] [1,0,0,0,0,0] [0,0,0,0,0,0] Possible outputs [0,1,5] [0,5] [0,1,4,0,2] [0,3,5] [0,3,0,1,4,0,5] Deterministic path: Input [0,0,1,0] …

25
เรียงลำดับสตริงตามลำดับที่กำหนด
ความท้าทายของคุณคือการจัดเรียงสตริง แต่แทนที่จะเรียงตามตัวอักษรปกติ (abc..xyz) คุณจะเรียงลำดับสตริงตามตัวอักษรที่ระบุ คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เวลาสองอินพุต: ตัวอักษรและสตริงS ทั้งสองจะมีตัวอักษรภาษาอังกฤษตัวพิมพ์เล็กเท่านั้นและทั้งสองอย่างจะมีอักขระอย่างน้อยหนึ่งตัว คุณต้องย้ายตัวอักษรในSเพื่อให้ตัวอักษรที่ปรากฏขึ้นเป็นครั้งแรกในAปรากฏขึ้นก่อนจากนั้นตัวอักษรใดก็ตามที่ปรากฏเป็นอันดับสองในAเป็นต้นอาจมีตัวอักษรบางตัวในSที่ไม่ปรากฏในAสิ่งเหล่านี้ควรถูกทิ้งไว้ท้าย ไม่ได้ขยับไปมาเมื่อเทียบกับกันและกัน กรณีทดสอบ: A S Result axd haxuizzxaxduxha aaaxxxxdhuizzuh a xyz xyz abc dcba abcd il nmiuplliu iillnmupu asdf qwerty qwerty ไบต์ที่น้อยที่สุดจะชนะ!
23 code-golf  string 

21
เมทริกซ์ตามลำดับ“ สแลช”
รับค่าบวกสองค่าN >= 2และN <= 100สร้างเมทริกซ์ซึ่งปฏิบัติตามกฎต่อไปนี้: หมายเลขแรกเริ่มต้นที่ตำแหน่ง [0,0] หมายเลขที่สองเริ่มต้นที่ตำแหน่ง [0,1] หมายเลขที่สามต่ำกว่าหมายเลขแรก (ตำแหน่ง[1,0]) ตัวเลขต่อไปนี้ไปในทิศทาง "ทับ" [1, N1 * N2]ช่วงของตัวเลขที่ใช้เป็น ดังนั้นตัวเลขเริ่มจาก 1 ถึงผลลัพธ์ของการคูณของอินพุตทั้งสอง อินพุต ตัวเลขสองและN >= 2 N <= 100ตัวเลขตัวแรกคือจำนวนของแถวจำนวนที่สองคือจำนวนคอลัมน์ เอาท์พุต มดลูก (สามารถเอาท์พุทเป็นอาร์เรย์หลายมิติหรือสตริงที่มีตัวแบ่งบรรทัด) ตัวอย่าง: 3 and 5เอาท์พุทตัวเลข: 1 2 4 7 10 3 5 8 11 13 6 9 12 14 15 ตัวเลขที่กำหนด …
23 code-golf  matrix 

30
ขยายจำนวน
ความท้าทายนี้จะขึ้นอยู่กับคำถาม Stackoverflow นี้ ด้วยจำนวนบวกเป็นอินพุตเอาต์พุตมันเป็นผลรวมของแต่ละหลักคูณด้วยการแทนค่า power-of-10 อินพุต จำนวนเป็นจำนวนเต็มสตริงหรือรายการของตัวเลข / ตัวอักษร จำนวนจะเป็นบวกอย่างเคร่งครัด 0ถ้าคุณยอมรับจำนวนเป็นสตริงหรือรายการก็จะไม่เริ่มต้นด้วย เอาท์พุต สตริงที่แสดงถึงผลรวมของแต่ละฐาน 10 หลักที่เกี่ยวข้องแต่ละคูณด้วยพลังงานฐาน 10 ตามลำดับ a + bผลรวมจะแสดงเป็น คุณสามารถใช้พื้นที่ได้มากถึงหนึ่งช่องรอบแต่ละด้านของ+เครื่องหมายถ้าคุณต้องการ ตัวถูกดำเนินการอยู่ในลำดับจากมากไปน้อย 0 ไม่สามารถเป็นตัวถูกต้องที่ถูกต้องได้ +สัญญาณ (ล้อมรอบหรือไม่ด้วยช่องว่าง) ไม่อาจจะเป็นส่วนหนึ่งที่นำหน้าหรือต่อท้าย ตัวอย่าง Input Output 12 10 + 2 or 10+2 or 10 +2 or 10+ 2 9 9 123 100 + 20 + 3 …
23 code-golf  number 

6
128 ปี การปฏิรูปปีอธิกสุรทิน
ปีสุริยคติคือ 365 วัน 5 ชั่วโมง 48 นาที 45 วินาทีและ 138 มิลลิวินาทีตามวิดีโอนี้ ด้วยปฏิทินเกรโกเรียนปัจจุบันกฎสำหรับการก้าวกระโดดปีมีดังนี้: if year is divisible by 400, LEAP YEAR else if year is divisible by 100, COMMON YEAR else if year is divisible by 4, LEAP YEAR else, COMMON YEAR น่าเสียดายที่วิธีการนี้ปิดหนึ่งวันทุกๆ 3216 ปี วิธีหนึ่งที่เป็นไปได้ในการปฏิรูปปฏิทินคือกฎต่อไปนี้: if year is divisible by …

20
สามเหลี่ยมจตุรัส
จำนวนเต็มบวกxคือเลขสามเหลี่ยมจตุรัส iff มีเลขจำนวนเต็มบวกสองตัวคือyและzซึ่งเล็กกว่าxดังนั้นผลรวมทั้งหมด x + y x + z y + z เป็นสี่เหลี่ยมที่สมบูรณ์แบบ ตัวอย่างเช่น 30 เป็นเลขสามเหลี่ยมจตุรัสเพราะ 30 + 6 = 6 2 30 + 19 = 7 2 6 + 19 = 5 2 งานของคุณคือการเขียนโค้ดบางอย่างที่ใช้จำนวนเต็มบวกเป็นอินพุตและพิจารณาว่าเป็นเลขสามเหลี่ยมจตุรัสหรือไม่ คุณควรส่งออกหนึ่งในสองค่าที่แตกต่างกันอย่างใดอย่างหนึ่งถ้าการป้อนข้อมูลเป็นตัวเลขสามเหลี่ยมและอื่น ๆ นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า Testcases นี่คือหมายเลขสามเหลี่ยมสแควร์ทั้งหมดต่ำกว่า 1,000 30,44,47,48,60,66,69,70,78,86,90,92,94,95,96,98,108,113,116,118,120,122,124,125,126,132,138,142,147,150,152,154,156,157,158,159,160,165,170,176,180,182,185,186,188,190,192,194,195,196,197,198,200,207,212,214,216,218,221,222,224,227,230,232,234,236,237,238,239,240,246,248,253,258,260,264,266,267,268,270,273,274,275,276,278,280,281,282,283,284,285,286,290,296,298,302,303,306,308,310,312,314,317,318,320,322,323,324,326,328,329,330,331,332,333,334,335,336,338,340,344,347,350,351,352,356,357,360,362,364,368,370,371,372,374,376,377,378,380,382,384,385,386,387,388,389,390,392,394,396,402,405,408,410,413,414,415,418,420,422,423,424,426,429,430,432,434,435,436,438,440,442,443,444,445,446,447,448,449,452,456,458,462,464,466,467,468,470,472,476,477,479,480,482,484,485,488,490,491,492,494,496,497,498,500,501,502,503,504,505,506,507,508,509,510,512,515,516,518,522,523,524,527,528,530,533,536,538,540,542,543,546,548,549,550,551,552,554,557,558,560,562,563,564,566,568,569,570,571,572,573,574,575,576,578,579,582,585,588,590,592,593,594,598,600,602,603,604,605,606,608,610,612,613,614,615,616,618,620,621,623,624,626,627,628,630,632,633,634,636,638,639,640,641,642,643,644,645,646,650,652,656,657,658,659,660,662,666,667,668,670,672,674,677,678,680,682,683,686,687,689,690,692,694,695,696,698,700,701,702,704,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,722,723,726,728,730,734,737,739,740,742,744,745,746,750,752,755,756,758,760,762,764,765,767,768,770,772,773,774,776,778,779,780,782,783,784,785,786,788,789,790,791,792,793,794,795,796,797,798,800,802,803,804,805,810,812,814,816,817,818,819,820,822,825,826,827,828,829,830,832,833,834,836,837,838,840,842,846,847,848,849,850,851,852,854,855,856,858,860,861,862,863,864,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,882,884,888,890,891,893,896,897,898,902,903,904,905,908,912,913,914,915,916,918,920,923,924,926,927,928,929,931,932,933,935,936,938,940,941,942,944,946,947,948,950,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,970,972,974,976,978,980,981,984,986,987,988,992,993,995,996,998 OEIS A242445

10
ตัวอักษรพอดีกับด้านอื่น ๆ หรือไม่?
คุณจำสีของฉันถูกจัดกลุ่มตามสีได้หรือไม่? เมื่อวานนี้ฉันมองดูและตระหนักว่าตัวอักษรบางตัวเหมาะสมกับคนอื่น ตัวอย่าง: จดหมายPเหมาะกับสถานที่ที่จดหมายRไป ดังนั้นนี่เป็นความท้าทายที่เรียบง่าย: ให้ตัวอักษรสองตัวคืนค่าความจริงถ้าตัวอักษรตัวใดตัวหนึ่งเข้าด้านใน (อีกทางตรงหรือหมุน แต่ไม่พลิก) หรือค่าความผิดถ้าพวกเขาทำไม่ได้ นั่นคือถ้าการป้อนข้อมูลเป็น[P,R]หรือ[R,P]คุณจะต้องกลับมาจริงเพราะในทั้งสองกรณีตัวอักษรตัวหนึ่งพอดีภายในอื่น ๆ หากคุณได้รับ[L,U]คุณจะต้องกลับมาโกหกเพราะไม่เหมาะสมกับคนอื่น กฎระเบียบ อินพุตจะต้องเป็นตัวอักษรและตัวเลขสองตัวในช่วง [0-9A-Z] เนื่องจากมีตัวเลขอยู่ในแผ่นในรูปแบบใด ๆ ที่คุณต้องการ (สองตัวแยกสองตัวแยกเป็นสองอินพุตรายการที่มีสองตัวอักษรสตริงที่มี 2 ตัวอักษรอะไรก็ตาม) ผลลัพธ์จะต้องสอดคล้องกัน (ค่าความจริงและความเท็จจะต้องเหมือนกันเสมอ) ต่อไปนี้เป็นตารางของอุปกรณ์ (โปรดทราบว่าตัวอักษรที่เหมาะสมในสถานที่ที่เหมาะสมเสมอในกรณีที่คุณได้รับสิ่งที่ชอบ[Y,Y]เป็นอินพุต): char fits inside chars -------------------------------------------------------- C G,O F B,E,P,R G O I 0,1,7,B,D,E,F,H,K,L,M,N,O,P,R,T,V,W,X,Z L E M W P R S O V A W M …

27
เมทริกซ์ติดตามทั่วไป
แรงบันดาลใจ ให้ (โดยวิธีการใด ๆ ): สองอาร์กิวเมนต์ (หรืออาร์กิวเมนต์เดียวประกอบด้วยรายการสององค์ประกอบ) ฟังก์ชั่นกล่องดำ , (input และ output คือ 1, 2, 3, ... )f: ℤ+ × ℤ+ → ℤ+ เมทริกซ์จำนวนเต็มบวกอย่างเคร่งครัดโดยมีอย่างน้อยสองแถวและสองคอลัมน์ กลับเมทริกซ์ของร่องรอยฟังก์ชั่น คืออะไรร่องรอยฟังก์ชั่น ? เมทริกซ์ติดตามปกติคือผลรวมของเส้นทแยงมุมใหญ่ (บนซ้ายไปขวาล่าง) ของเมทริกซ์: [[1,2,3],[4,5,6],[7,8,9]]→การ[1,5,9]→การ1+5+9→การ15 แต่แทนที่จะรวมเราต้องการนำfไปใช้ตามแนวทแยง: [[1,2,3],[4,5,6],[7,8,9]]→การ[1,5,9]→การf(f(1,5),9)หรือf(1,f(5,9)) โปรดระบุว่าคุณใช้จากซ้ายไปขวาหรือจากขวาไปซ้าย เมทริกซ์ที่กำหนดและค่ากลางทั้งหมดจะเป็นจำนวนเต็มบวกอย่างเคร่งครัดภายในโดเมนจำนวนเต็มของภาษาของคุณ เมทริกซ์อาจไม่ใช่แบบสแควร์ ตัวอย่าง f(x,y) = xy, [[1,2,3],[4,5,6],[7,8,9]]→การ1×5×9→การ45 f(x,y) = xy, [[1,2,3],[4,5,6],[7,8,9]]→การ →การ1591 f(x,y) = x-y, [[4,5,6],[1,2,3]]→การ4-2→การ2 …

3
ฝาครอบสี่เหลี่ยมผืนผ้าขั้นต่ำ
สี่เหลี่ยมผืนผ้าครอบคลุม สมมติว่าคุณมีเมทริกซ์ของบิตตัวอย่างเช่นต่อไปนี้ 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 เราอยากหาสี่เหลี่ยมครอบคลุมสำหรับเมทริกซ์นี้ มันเป็นชุดของเซตย่อยสี่เหลี่ยมของเมทริกซ์ที่ไม่มี 0 ใด ๆ แต่รวมกันประกอบด้วย 1s ทั้งหมด …

26
ค้นหาอันดับของ Word
คำนิยาม อันดับของคำถูกกำหนดให้เป็นตำแหน่งของคำเมื่อการเรียงสับเปลี่ยน (หรือการจัดเรียง) ที่เป็นไปได้ทั้งหมดของตัวอักษรถูกจัดเรียงตามลำดับตัวอักษรเช่นในพจนานุกรมไม่ว่าคำนั้นจะมีความหมายหรือไม่ก็ตาม ให้เราพิจารณาสองคำนี้ - "สีน้ำเงิน" และ "เห็น" ก่อนอื่นเราจะเขียนตัวอักษรของคำเหล่านี้ตามลำดับตัวอักษร: "blue": "belu","beul","bleu","blue","buel","bule","eblu","ebul","elub","elbu","eubl", "eulb","lbeu","lbue","lebu","leub","lube","lueb","ubel","uble","uebl","uelb", "ulbe","uleb" "seen": "eens","eesn","enes","ense","esen","esne","nees","nese","nsee","seen", "sene","snee" ทีนี้ลองดูจากทางซ้ายและค้นหาตำแหน่งของคำที่เราต้องการ เราเห็นว่าคำว่า "สีน้ำเงิน" อยู่ที่ตำแหน่งที่ 4 และ "เห็น" อยู่ที่ตำแหน่งที่ 10 ดังนั้นอันดับของคำว่า "สีน้ำเงิน" คือ 4 และของ "เห็น" คือ 10 นี่คือวิธีทั่วไปในการคำนวณอันดับของคำ ตรวจสอบให้แน่ใจว่าคุณเริ่มนับจาก 1 เท่านั้น งาน งานของคุณคือการเขียนรหัสเพื่อใช้คำใด ๆ ที่เป็นอินพุตและแสดงอันดับของมัน อันดับควรเป็นผลลัพธ์ ระวังคำที่มีตัวอักษรซ้ำ ๆ ตัวอย่าง "prime" -> 94 "super" …

19
สร้างลำดับเลขคณิตอีกครั้ง
ให้ลำดับเลขคณิตของจำนวนเต็มบวกที่มีเงื่อนไขบางอย่างถูกลบออกจากตรงกลางสร้างลำดับใหม่ทั้งหมด งาน พิจารณาลำดับเลขคณิต: รายการของจำนวนเต็มบวกที่ความแตกต่างระหว่างองค์ประกอบต่อเนื่องสองค่าเท่ากัน 2 5 8 11 14 17 ตอนนี้สมมติว่าหนึ่งหรือมากกว่าจำนวนเต็มถูกลบออกจากลำดับภายใต้ข้อ จำกัด ดังต่อไปนี้: จำนวนเต็มที่ถูกลบออกจะเป็นเงื่อนไขลำดับที่ต่อเนื่องกัน จำนวนเต็มแรกและสุดท้ายในลำดับจะไม่ถูกลบ อย่างน้อยสามจำนวนเต็มจะยังคงอยู่ในลำดับ สำหรับลำดับข้างต้นการลบที่เป็นไปได้รวมถึง: 2 5 8 14 17 (removed 11) 2 5 17 (removed 8 11 14) 2 14 17 (removed 5 8 11) งานของคุณ: กำหนดหนึ่งในลำดับบางส่วนเหล่านี้ให้สร้างลำดับเต็มต้นฉบับใหม่ รายละเอียด คุณอาจสมมติว่าอินพุตถูกต้อง (มีวิธีแก้ไข) และขาดอย่างน้อยหนึ่งคำ ตัวเลขทั้งหมดในลำดับจะเป็นจำนวนเต็มบวก (> 0) ลำดับอาจมีความแตกต่างในเชิงบวกหรือเชิงลบระหว่างคำ (เช่นมันอาจจะเพิ่มขึ้นหรือลดลง) มันจะไม่เป็นลำดับคงที่ …

16
ใช้เวลาหนึ่งที่จะทำให้หนึ่ง
ท้าทาย รับรายการของจำนวนเต็มบวกหาว่ามีการเรียงสับเปลี่ยนที่ใช้เวลาถึงหนึ่งบิตจากแต่ละจำนวนเต็มเป็นเลขฐานสองซึ่งประกอบด้วย1s ทั้งหมดสามารถสร้างขึ้นได้ จำนวนบิตในเลขฐานสองที่ได้นั้นเท่ากับMSBสูงสุดในรายการจำนวนเต็ม เอาท์พุต รหัสของคุณจะต้องส่งออกหรือส่งกลับค่าความจริง / เท็จที่ระบุว่าการเปลี่ยนแปลงดังกล่าวมีอยู่ ตัวอย่าง Truthy: ด้วยรายการ[4, 5, 2]และการแทนค่าไบนารี่[100, 101, 10]เราสามารถใช้บิตที่สามหนึ่งและสองตามลำดับเพื่อสร้าง111: 4 -> 100 -> 100 -> 1 5 -> 101 -> 101 -> 1 2 -> 010 -> 010 -> 1 Result 111 ด้วยรายการ[3, 3, 3]ตัวเลขทั้งหมดมีการตั้งค่าเป็นบิตแรกและบิตที่สอง1ดังนั้นเราจึงสามารถเลือกหมายเลขของเราเพื่อสำรอง: 3 -> 11 -> 11 -> 1 3 -> …

5
กำหนดจำนวนล้อที่มี
คำอธิบายที่ไม่ใช่คณิตศาสตร์ นี่คือคำอธิบายที่ตั้งใจให้เข้าถึงได้โดยไม่คำนึงถึงพื้นหลังของคุณ น่าเสียดายที่มันเกี่ยวข้องกับคณิตศาสตร์บางอย่าง แต่ควรเข้าใจได้สำหรับคนส่วนใหญ่ที่มีระดับความเข้าใจในระดับมัธยมต้น ลำดับชี้เป็นลำดับใด ๆ ดังกล่าวที่A (n + 1) = a (na (n)) ลองแยกสูตรนี้หน่อยเพื่อทำความเข้าใจความหมายของมัน นี่หมายถึงการหาเทอมถัดไปในลำดับที่เราดูในเทอมสุดท้ายนำขั้นตอนนั้นกลับมาและคัดลอกคำที่เราค้นหา ตัวอย่างเช่นถ้าเรามีลำดับจนถึงตอนนี้ ... 3 4 4 4 3 ? เราจะย้อนกลับไป 3 ก้าว 3 ... 3 4 4 4 3 ? ^ 4ทำให้ผลของเรา ตอนนี้โดยปกติเราเล่นเกมนี้บนเทปที่ไม่มีที่สิ้นสุดในทั้งสองทิศทาง แต่เรายังสามารถเล่นเกมบนวงล้อซึ่งหลังจากผ่านไปหลายขั้นตอนเรากลับไปที่จุดเริ่มต้นของลำดับ ตัวอย่างเช่นที่นี่คือการสร้างภาพของลำดับ [1,3,1,3,1,3] ตอนนี้เราอาจสังเกตเห็นว่าตัวเลขใด ๆ , xในวงล้อที่เกินจำนวนเซลล์ในวงล้อ, n , อาจเท่ากับx mod nเพราะทุกวงจรที่สมบูรณ์รอบ …

11
ฟังก์ชั่น Bijective ℤ→ℤⁿ
มันเป็นไปได้เล็กน้อยที่จะสร้างฟังก์ชัน bijectiveจาก (ชุดของจำนวนเต็มทั้งหมด) ถึง (เช่นฟังก์ชันตัวตน)ZZ\mathbb{Z}ZZ\mathbb{Z} นอกจากนี้ยังสามารถสร้างฟังก์ชัน bijective จากถึง (ชุดของจำนวนเต็ม 2 คู่ทั้งหมด; ผลิตภัณฑ์คาร์ทีเซียนของและ ) ตัวอย่างเช่นเราสามารถใช้ lattice แทนคะแนนจำนวนเต็มบนระนาบ 2D วาดเกลียวจาก 0 ออกมาแล้วเข้ารหัสจำนวนเต็มคู่เป็นระยะทางตามแนวเกลียวเมื่อมันตัดกับจุดนั้นZZ\mathbb{Z}Z2Z2\mathbb{Z}^2ZZ\mathbb{Z}ZZ\mathbb{Z} (ฟังก์ชั่นที่ทำสิ่งนี้กับตัวเลขธรรมชาติเป็นที่รู้จักกันในชื่อฟังก์ชั่นการจับคู่ ) ในความเป็นจริงมีตระกูลของฟังก์ชัน bijective เหล่านี้: fk( x ) : Z →Zkfk(x):Z→Zkf_k(x) : \mathbb{Z} \to \mathbb{Z}^k ความท้าทาย กำหนดตระกูลของฟังก์ชัน (โดยที่เป็นจำนวนเต็มบวก) กับคุณสมบัติที่ทำแผนที่เชิงเส้นจำนวนเต็มกับ -tuples ของจำนวนเต็มฉk( x )ฉk(x)f_k(x)kkkฉk( x )ฉk(x)f_k(x)kkk การส่งของคุณควรจะได้รับปัจจัยการผลิตและกลับ(x)kkkxxxฉk( x )ฉk(x)f_k(x) นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง (วัดเป็นไบต์) …
23 code-golf  math  number 

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