คำถามติดแท็ก multi-threading

30
รอสักครู่ - น้อยกว่าสิบวินาที
งาน ใช้การขนานใด ๆ ให้รอหลายช่วงเวลารวมเวลาพักอย่างน้อยหนึ่งนาที (แต่น้อยกว่าหนึ่งนาทีครึ่ง) โปรแกรม / ฟังก์ชั่นจะต้องสิ้นสุดภายใน 10 วินาทีและกลับสองค่า (โดยวิธีการใด ๆ และในรูปแบบใด ๆ ): เวลาที่ผ่านไปโดยรวมและเวลาสลีปที่ดำเนินการทั้งหมด ค่าทั้งสองเวลาต้องมีความแม่นยำอย่างน้อย 0.1 วินาที สิ่งนี้คล้ายกับแนวคิดของชั่วโมงทำงาน : งานที่ใช้เวลา 60 ชั่วโมงสามารถสำเร็จได้ในเวลาเพียง 6 ชั่วโมงถ้าพนักงาน 10 คนแยกงาน ที่นี่เราสามารถมีเวลาพัก 60 วินาทีเช่นใน 10 เธรดแบบขนานดังนั้นต้องใช้เวลาเพียง 6 วินาทีเพื่อให้งานทั้งหมดเสร็จ ตัวอย่าง โปรแกรมMyProgramสร้าง 14 เธรดแต่ละเธรดหลับเป็นเวลา 5 วินาที: MyProgram → [5.016,70.105] เวลาดำเนินการมากกว่า 5 วินาทีและเวลานอนหลับรวมมากกว่า 70 วินาทีเนื่องจากค่าใช้จ่าย

22
ระเบิดสตริง
รับสายใด ๆ พิมพ์ในรูปแบบของรูปสามเหลี่ยมที่ข้อความวิ่งขึ้นและลงตามแนวทแยงแต่ละ ตัวอย่างเช่นอินพุตของ"Hello World"เอาต์พุตควร: d l r d o l W r d o l o W r d l o l l o W r d e l o l H l o W r d e l o l l o W r d l o l …

19
หมายเลขตัวหารที่ไม่เป็นมิตร
ตัวหารบางตัวของจำนวนเต็มบวกเกลียดกันและพวกเขาไม่ต้องการแบ่งปันตัวเลขหนึ่งหลักหรือมากกว่า จำนวนเต็มเหล่านั้นเรียกว่าHostile Divisor Numbers ( HDN ) ตัวอย่าง Number 9566มี4ตัวหาร: 1, 2, 4783 and 9566 (อย่างที่คุณเห็นไม่มีสองคนที่มีตัวเลขเดียวกัน ) ดังนั้น9566จึงเป็นH ostile D ivisor N umber จำนวน9567เป็นไม่HDNเพราะตัวหารของ ( 1, 3, 9, 1063, 3189, 9567) แบ่งปันตัวเลขบางอย่างร่วมกัน นี่เป็นHDNแรกสองสามอัน 1,2,3,4,5,6,7,8,9,23,27,29,37,43,47,49,53,59,67,73,79,83,86,87,89,97,223,227,229,233,239,257,263,267,269,277,283,293,307,337... งาน รายการข้างต้นดำเนินต่อไปและหน้าที่ของคุณคือค้นหาHDNลำดับที่ n อินพุต จำนวนเต็มบวกnตั้งแต่1ถึง4000 เอาท์พุต nth HDN กรณีทดสอบ นี่คือกรณีทดสอบที่จัดทำดัชนี 1รายการ โปรดระบุระบบการจัดทำดัชนีที่คุณใช้ในคำตอบของคุณเพื่อหลีกเลี่ยงความสับสน input -> output 1 …

15
g o l f a t a n 2
บางครั้งจริงๆมันคือการต่อสู้การแปลงพิกัดคาร์ทีเซียนพิกัดขั้วโลก(x,y) (r,phi)ในขณะที่คุณสามารถคำนวณr = sqrt(x^2+y^2)ได้ง่ายมากคุณมักจะต้องแตกต่างจากกรณีเมื่อคำนวณมุมphiเพราะarcsin, arccosและarctanและฟังก์ชันตรีโกณมิติอื่น ๆ ทุกคนมีร่วมโดเมนที่เฉพาะในแต่ละช่วงครึ่งวงกลม ในหลายภาษามี built-in สำหรับการแปลงสี่เหลี่ยมพิกัดเชิงขั้วหรืออย่างน้อยก็มีatan2ฟังก์ชั่นที่ - รับ(x,y)- phiคำนวณมุม งาน งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่ใช้เวลาสอง (จุดลอยไม่ใช่ทั้งสองศูนย์) พิกัดคาร์ทีเซียน(x,y)และเอาท์พุทมุมขั้วโลกที่สอดคล้องกันphiที่phiจะต้องมีในองศาเรเดียนหรือเกรด (มีเกรดผมหมายถึงGradiansซึ่งเป็น 1 / 400 ของวงกลมเต็ม) แล้วแต่ว่าอะไรจะสะดวกสำหรับคุณ (1,0)มุมที่เป็นวัดในทิศทางบวกและเรามีมุมสำหรับศูนย์ รายละเอียด คุณไม่สามารถใช้สร้างเพิ่มเติมที่คำนวณมุมที่phiได้รับสองพิกัดรวมทั้งatan2, rect2polar, argOfComplexNumberและฟังก์ชั่นที่คล้ายกัน อย่างไรก็ตามคุณสามารถใช้ฟังก์ชั่นตรีโกณมิติปกติและการกลับด้านได้ซึ่งจะรับเพียงหนึ่งอาร์กิวเมนต์เท่านั้น สัญลักษณ์หน่วยใดก็ได้เป็นตัวเลือก รัศมีrจะต้องไม่เป็นลบและphiจะต้องอยู่ในช่วง[-360°, 360°](ไม่สำคัญว่าคุณจะส่งออก270°หรือ-90°) ตัวอย่าง Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) …
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

4
แสดง nondeterminism ที่เป็นผลมาจากตัวกำหนดเวลาเธรด OS
ดังที่เราทราบกันดีว่าระบบปฏิบัติการที่ทันสมัยมีตัวจัดกำหนดการเธรดที่สามารถเลือกคำสั่งที่แตกต่างกันเพื่อกำหนดเวลาเธรดของคุณตามตรรกะภายในซึ่งรหัสของคุณไม่เป็นส่วนตัว โดยปกติแล้วคุณจะต้องออกแบบโค้ดแบบมัลติเธรดของคุณเพื่อให้แน่ใจว่าสิ่งที่ไม่คาดฝันนี้กำหนดไว้กับคุณจะไม่ส่งผลกระทบต่อผลลัพธ์ของคุณอย่างมีความหมาย เป้าหมายที่นี่ตรงกันข้าม สร้างโปรแกรมที่พิมพ์จำนวนเต็มในช่วงเวลา [0,99] แต่ในลำดับที่จะแตกต่างจากการรันเพื่อรันเนื่องจากตัวกำหนดตารางเวลาเธรด OS คุณต้องได้ "nondeterminism ที่เพียงพอ" ซึ่งนิยามไว้เป็น: ใน 10 ชุดตามลำดับของการทดลอง 10 ครั้งโปรแกรมของคุณจะต้องผลิตอย่างน้อย 9 พีชคณิตที่ไม่ซ้ำกันในแต่ละการทดลอง คุณอาจมีจำนวนชุดการทดลองที่ล้มเหลวในจำนวนที่เหมาะสมทั้งสองด้านของ 10 ติดต่อกันซึ่งประสบความสำเร็จ หรือหากต้องการกล่าวอีกวิธีหนึ่งคุณต้องใช้ 100 โปรแกรมของคุณซึ่งแต่ละบล็อกของการรัน 10 ครั้งมีการรันที่มากที่สุดสองรายการซึ่งให้ผลลัพธ์เหมือนกัน ดังนั้นการสลับ 98 และ 99 จะไม่ตัด นี่คือรหัสกอล์ฟดังนั้นคำตอบที่ใช้จำนวนไบต์น้อยที่สุดชนะ ข้อปลีกย่อย เขียนเอาต์พุตของคุณไปยัง stdout หนึ่งรายการต่อบรรทัด หากคุณรวมรูปแบบโดยให้ตัวอักษรสองตัวแทรกสอดระหว่างหัวข้อไปยัง stdout (แม้บางครั้ง) ทำให้เกิดสิ่งต่าง ๆ เช่นตัวเลขสามหลักหรือบรรทัดว่างผลลัพธ์ของคุณไม่ถูกต้อง ข้อยกเว้นสำหรับกฎข้างต้นคือคุณสามารถปล่อยบรรทัดว่างเปล่าบรรทัดเดียวหลังจากพิมพ์หมายเลขที่ต้องการล่าสุด (ยินดีต้อนรับ) หากคุณพลาดหรือทำซ้ำค่าที่ต้องการผลลัพธ์ของคุณจะไม่ถูกต้อง โปรแกรมของคุณไม่จำเป็นต้องเป็น nondeterministic บนตัวประมวลผลหลักเดียว โปรแกรมของคุณอาจใช้กรีนเธรด / …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.