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

คณิตศาสตร์เกี่ยวข้องกับการจัดการตัวเลขภายในโปรแกรม สำหรับคำถามทางคณิตศาสตร์ทั่วไปโปรดถาม [math.stackexchange.com] (https://math.stackexchange.com/) หมายเหตุ: หากคำถามของคุณเกี่ยวกับผลลัพธ์ที่ไม่คาดคิดในการคำนวณจุดลอยตัวโปรดอ่าน [การคำนวณจุดลอยตัวเสียหรือไม่?] (https://stackoverflow.com/q/588004/1679849) ก่อน

10
วิธีที่ปลอดภัยที่สุดในการแปลง float เป็นจำนวนเต็มในไพ ธ อน?
โมดูลคณิตศาสตร์ ธ ประกอบด้วยฟังก์ชั่นที่มีประโยชน์เช่น&floor ceilฟังก์ชั่นเหล่านี้ใช้จำนวนจุดลอยตัวและส่งกลับจำนวนเต็มที่ใกล้เคียงที่สุดหรือต่ำกว่านั้น อย่างไรก็ตามฟังก์ชั่นเหล่านี้คืนคำตอบเป็นจำนวนจุดลอยตัว ตัวอย่างเช่น: import math f=math.floor(2.3) ตอนนี้fผลตอบแทน: 2.0 วิธีที่ปลอดภัยที่สุดในการดึงจำนวนเต็มออกจาก float นี้โดยไม่เสี่ยงต่อการปัดเศษข้อผิดพลาด (ตัวอย่างเช่นถ้า float เท่ากับ 1.99999) หรือบางทีฉันควรใช้ฟังก์ชันอื่นโดยสิ้นเชิง?

21
สร้างจุดสุ่มภายในวงกลม (สม่ำเสมอ)
ฉันต้องการที่จะสร้างจุดสุ่มสม่ำเสมอภายในวงกลมรัศมีR ฉันรู้ว่าเพียงแค่เลือกมุมสุ่มอย่างสม่ำเสมอในช่วงเวลา [0 ... 2π) และรัศมีสุ่มอย่างสม่ำเสมอในช่วงเวลา (0 ... R ) ฉันจะจบลงด้วยคะแนนที่มากขึ้นสู่จุดศูนย์กลางเนื่องจากสอง รัศมีจุดในรัศมีขนาดเล็กจะใกล้กันมากกว่าสำหรับจุดในรัศมีขนาดใหญ่ ฉันพบรายการบล็อกที่นี่ตรงนี้แต่ฉันไม่เข้าใจเหตุผลของเขา ฉันคิดว่ามันถูกต้อง แต่ฉันอยากจะเข้าใจจากที่เขาได้รับ (2 / R 2 ) × rและวิธีการที่เขาได้มาซึ่งทางออกสุดท้าย ปรับปรุง: 7 ปีหลังจากโพสต์คำถามนี้ฉันยังไม่ได้รับคำตอบที่น่าพอใจสำหรับคำถามจริงเกี่ยวกับคณิตศาสตร์ที่อยู่เบื้องหลังอัลกอริทึมรากที่สอง ดังนั้นฉันใช้เวลาหนึ่งวันในการเขียนคำตอบด้วยตัวเอง เชื่อมโยงไปยังคำตอบของฉัน


10
ฉันจะระบุฐานสำหรับ Math.log () ใน JavaScript ได้อย่างไร
ฉันต้องการlogฟังก์ชั่นสำหรับ JavaScript แต่จำเป็นต้องเป็นฐาน 10 ฉันไม่เห็นรายชื่อใด ๆ สำหรับสิ่งนี้ดังนั้นฉันคิดว่ามันเป็นไปไม่ได้ มีพ่อมดคณิตศาสตร์ที่รู้วิธีแก้ปัญหานี้หรือไม่?

18
เหตุใดจึงต้องใช้ส่วนประกอบสองอย่างแทนเครื่องหมายและขนาดสำหรับหมายเลขที่เซ็นชื่อ
ฉันแค่อยากรู้ว่าถ้ามีเหตุผลทำไมเพื่อเป็นตัวแทน -1 ในเลขฐานสองจะใช้สองส่วน: พลิกบิตและเพิ่ม 1? -1 แทนด้วย 11111111 (ส่วนเสริมสองส่วน) แทน (สำหรับฉันที่เข้าใจง่ายขึ้น) 10000001 ซึ่งเป็นเลขฐานสอง 1 ที่มีบิตแรกเป็นค่าลบ คำเตือน: ฉันไม่พึ่งพาเลขคณิตเลขฐานสองสำหรับงานของฉัน!

27
ขั้นตอนวิธีการตรวจจับการชนกันของส่วนวงกลม
ฉันมีเส้นจาก A ถึง B และวงกลมวางตำแหน่งที่ C กับรัศมี R อัลกอริทึมที่ดีที่ใช้ในการตรวจสอบว่าเส้นตัดกันวงกลมหรือไม่ และมันเกิดขึ้นที่พิกัดใดตามขอบวงกลม?

9
อะไรคือหลักการทางคณิตศาสตร์ / การคำนวณที่อยู่เบื้องหลังเกมนี้?
ลูก ๆ ของฉันมีเกมที่สนุกที่เรียกว่าSpot It! ข้อ จำกัด ของเกม (ที่ดีที่สุดที่ฉันสามารถอธิบายได้) คือ: เป็นสำรับไพ่ 55 ใบ ในการ์ดแต่ละใบมี 8 ภาพที่ไม่ซ้ำกัน (เช่นการ์ดไม่สามารถมี 2 ภาพเดียวกัน) เมื่อเลือกไพ่ 2 ใบใด ๆ จากเด็คจะมีรูปภาพที่จับคู่เพียง 1 รูปเท่านั้น รูปภาพที่ตรงกันอาจถูกปรับสัดส่วนบนการ์ดที่แตกต่างกัน แต่นั่นเป็นเพียงการทำให้เกมนั้นยากขึ้น (เช่นต้นไม้ขนาดเล็กยังคงตรงกับต้นไม้ใหญ่) หลักการของเกมคือพลิกไพ่ 2 ใบและใครก็ตามที่เลือกภาพที่ตรงกันจะได้รับแต้ม นี่คือภาพเพื่อความกระจ่าง: (ตัวอย่าง: คุณสามารถเห็นได้จากไพ่ 2 ใบด้านบนด้านบนว่าภาพที่จับคู่คือไดโนเสาร์สีเขียวระหว่างภาพล่างขวาและกลางขวาเป็นหัวของตัวตลก) ฉันพยายามที่จะเข้าใจสิ่งต่อไปนี้: รูปภาพขั้นต่ำจำนวนเท่าใดที่ต้องใช้เพื่อให้ตรงกับเกณฑ์เหล่านี้และคุณจะพิจารณาสิ่งนี้อย่างไร ด้วยการใช้ pseudocode (หรือ Ruby) คุณจะสร้างการ์ดเกม 55 เกมอย่างไรจากอาร์เรย์ของรูปภาพ N (โดยที่ N คือจำนวนขั้นต่ำจากคำถามที่ 1) …

17
วิธีการทำให้เปอร์เซ็นต์การปัดเศษเพิ่มขึ้นถึง 100%
พิจารณาสี่เปอร์เซ็นต์ด้านล่างซึ่งแสดงเป็นfloatตัวเลข: 13.626332% 47.989636% 9.596008% 28.788024% ----------- 100.000000% ฉันต้องการแสดงเปอร์เซ็นต์เหล่านี้เป็นตัวเลขทั้งหมด ถ้าฉันใช้เพียงMath.round()ฉันจบด้วยจำนวน 101% 14 + 48 + 10 + 29 = 101 ถ้าฉันใช้parseInt()ฉันจะลงเอยด้วย 97% 13 + 47 + 9 + 28 = 97 อัลกอริทึมที่ดีในการแสดงจำนวนเปอร์เซ็นต์ใด ๆ เป็นจำนวนเต็มขณะที่ยังคงรักษาไว้ทั้งหมด 100% แก้ไข : หลังจากอ่านข้อคิดเห็นและคำตอบบางอย่างแล้วมีหลายวิธีที่จะแก้ปัญหานี้ได้อย่างชัดเจน ในใจของฉันเพื่อให้เป็นจริงกับตัวเลขผลลัพธ์ "ถูกต้อง" คือสิ่งที่ช่วยลดข้อผิดพลาดโดยรวมให้น้อยที่สุดซึ่งกำหนดโดยการปัดเศษข้อผิดพลาดจำนวนเท่าใดที่จะนำเสนอเทียบกับค่าจริง value rounded error decision ---------------------------------------------------- 13.626332 14 2.7% round up …

12
จำนวนโมดิฟลบกำลังละลายสมองของฉัน
ฉันพยายามที่จะแก้ไขจำนวนเต็มเพื่อให้ได้ตำแหน่งอาเรย์เพื่อที่จะวนรอบ การi % arrayLengthทำงานได้ผลดีสำหรับตัวเลขบวก แต่สำหรับตัวเลขลบมันทั้งหมดผิดพลาด 4 % 3 == 1 3 % 3 == 0 2 % 3 == 2 1 % 3 == 1 0 % 3 == 0 -1 % 3 == -1 -2 % 3 == -2 -3 % 3 == 0 -4 % 3 == -1 …
189 c#  math  modulo 

27
อัลกอริทึมในการค้นหาตัวประกอบสำคัญที่สุดของตัวเลข
วิธีที่ดีที่สุดในการคำนวณปัจจัยหลักที่ใหญ่ที่สุดของจำนวนคืออะไร? ฉันคิดว่ามีประสิทธิภาพมากที่สุดจะเป็นดังต่อไปนี้: ค้นหาจำนวนเฉพาะต่ำสุดที่หารได้อย่างหมดจด ตรวจสอบว่าผลลัพธ์ของการหารเป็นเรื่องสำคัญหรือไม่ ถ้าไม่พบต่อไปต่ำสุด ไปที่ 2 ฉันคิดว่ามันง่ายกว่าที่จะคำนวณปัจจัยสำคัญเล็ก ๆ มันเกี่ยวกับใช่มั้ย ฉันควรมองหาวิธีอื่นใด แก้ไข: ตอนนี้ฉันรู้แล้วว่าวิธีการของฉันไร้ประโยชน์หากมีมากกว่า 2 ปัจจัยหลักในการเล่นตั้งแต่ขั้นตอนที่ 2 ล้มเหลวเมื่อผลลัพธ์เป็นผลงานของสองช่วงเวลาอื่นดังนั้นจึงจำเป็นต้องมีขั้นตอนวิธีแบบเรียกซ้ำ แก้ไขอีกครั้ง: และตอนนี้ฉันรู้แล้วว่าวิธีนี้ยังใช้งานได้เพราะตัวเลขสำคัญที่พบล่าสุดจะต้องเป็นเลขที่สูงที่สุดดังนั้นการทดสอบเพิ่มเติมเกี่ยวกับผลลัพธ์ที่ไม่ได้เป็นนายกจากขั้นตอนที่ 2 จะส่งผลให้นายกที่เล็กลง

22
หมายเลขสุ่มที่ไม่ซ้ำ (ไม่ใช่ซ้ำ) ใน O (1)?
ฉันต้องการสร้างตัวเลขสุ่มที่ไม่ซ้ำกันระหว่าง 0 ถึง 1,000 ที่ไม่เคยทำซ้ำ (เช่น 6 ไม่ปรากฏขึ้นสองครั้ง) แต่นั่นไม่ได้หันไปหาสิ่งที่ต้องการการค้นหา O (N) ของค่าก่อนหน้า เป็นไปได้ไหม

4
ฉันจะคำนวณเวกเตอร์ปกติของส่วนของเส้นได้อย่างไร
สมมติว่าฉันมีส่วนของเส้นตรงเริ่มจาก (x1, y1) ถึง (x2, y2) ฉันจะคำนวณเวกเตอร์ปกติตั้งฉากกับเส้นได้อย่างไร ฉันสามารถค้นหาสิ่งต่าง ๆ มากมายเกี่ยวกับการทำสิ่งนี้กับเครื่องบินในแบบ 3 มิติ แต่ไม่มีสิ่ง 2 มิติ กรุณาไปที่เรื่องง่าย ๆ ทางคณิตศาสตร์ (เชื่อมโยงไปยังตัวอย่างการทำงานไดอะแกรมหรืออัลกอริทึมยินดีต้อนรับ) ฉันเป็นโปรแกรมเมอร์มากกว่าฉันเป็นนักคณิตศาสตร์;)
177 math  geometry  vector 

3
อัลกอริทึม HyperLogLog ทำงานอย่างไร
ฉันได้เรียนรู้เกี่ยวกับอัลกอริทึมที่แตกต่างกันในเวลาว่างของฉันเมื่อเร็ว ๆ นี้และสิ่งที่ฉันได้พบซึ่งน่าสนใจมากเรียกว่าอัลกอริทึม HyperLogLog - ซึ่งประมาณจำนวนรายการที่ไม่ซ้ำกันในรายการ นี่เป็นเรื่องที่น่าสนใจเป็นพิเศษสำหรับฉันเพราะมันทำให้ฉันย้อนกลับไปยังยุค MySQL ของฉันเมื่อฉันเห็นว่า "ความสำคัญ" (ซึ่งฉันคิดเสมอจนกระทั่งเมื่อไม่นานมานี้ว่ามันไม่ได้ถูกคำนวณ) ดังนั้นฉันจึงรู้วิธีเขียนอัลกอริธึมในO ( n ) ที่จะคำนวณจำนวนเฉพาะของไอเท็มในอาเรย์ ฉันเขียนสิ่งนี้ใน JavaScript: function countUniqueAlgo1(arr) { var Table = {}; var numUnique = 0; var numDataPoints = arr.length; for (var j = 0; j < numDataPoints; j++) { var val = arr[j]; if (Table[val] != …

8
เหตุใดการดำเนินการทางคณิตศาสตร์ของ Python math.ceil () และ math.floor () จึงกลับลอยแทนจำนวนเต็ม?
ใครสามารถอธิบายสิ่งนี้ (ตรงจากเอกสาร - เน้นการทำเหมือง): math.ceil (x)คืนค่าเพดานของ x เป็นทศนิยมค่าจำนวนเต็มเล็กที่สุดที่มากกว่าหรือเท่ากับ x math.floor (x)คืนค่าพื้นของ x เป็นทศนิยมค่าจำนวนเต็มที่มากที่สุดน้อยกว่าหรือเท่ากับ x ทำไม.ceilและจะ.floorคืนค่าลอยเมื่อนิยามตามคำจำกัดความเพื่อคำนวณจำนวนเต็ม? แก้ไข: อย่างนี้มีข้อโต้แย้งที่ดีบางอย่างว่าทำไมพวกเขาควรจะกลับลอยและฉันก็เพิ่งเริ่มใช้ความคิดเมื่อ@jcolladoชี้ให้เห็นว่าพวกเขาในความเป็นจริงทำ ints ผลตอบแทนในหลาม 3 ...
170 python  math 

15
วิธีการทดสอบว่า double เป็นจำนวนเต็มหรือไม่
เป็นไปได้ที่จะทำเช่นนี้? double variable; variable = 5; /* the below should return true, since 5 is an int. if variable were to equal 5.7, then it would return false. */ if(variable == int) { //do stuff } ฉันรู้รหัสอาจจะไม่ได้ไปอะไรอย่างนั้น แต่วิธีการไม่ให้มันไป?
166 java  math 

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