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

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

7
วิธีเปลี่ยนสีดำเป็นสีที่กำหนดโดยใช้ฟิลเตอร์ CSS เท่านั้น
คำถามของฉัน: กำหนดสี RGB เป้าหมายสิ่งที่เป็นสูตรการเปลี่ยนสีสีดำ ( #000) เป็นสีที่ใช้เพียงฟิลเตอร์ CSS ? เพื่อให้ได้รับคำตอบจะต้องมีฟังก์ชัน (ในภาษาใดก็ได้) ที่จะยอมรับสีเป้าหมายเป็นอาร์กิวเมนต์และส่งคืนfilterสตริงCSS ที่เกี่ยวข้อง บริบทนี้คือความจำเป็นในการเปลี่ยนสี SVG ภายในไฟล์background-image. ในกรณีนี้ก็คือการสนับสนุนคุณสมบัติคณิตศาสตร์เท็กซ์บางอย่างใน KaTeX: https://github.com/Khan/KaTeX/issues/587 ตัวอย่าง หากสีเป้าหมายเป็น#ffff00(สีเหลือง) วิธีแก้ไขปัญหาที่ถูกต้องคือ: filter: invert(100%) sepia() saturate(10000%) hue-rotate(0deg) ( สาธิต ) ที่ไม่ใช่เป้าหมาย นิเมชั่น โซลูชันที่ไม่ใช่ตัวกรอง CSS เริ่มจากสีอื่นที่ไม่ใช่สีดำ การดูแลเกี่ยวกับสิ่งที่เกิดขึ้นกับสีอื่นที่ไม่ใช่สีดำ ผลลัพธ์จนถึงตอนนี้ การค้นหาพารามิเตอร์ของรายการตัวกรองแบบคงที่: https://stackoverflow.com/a/43959856/181228 จุด ด้อย: ไม่มีประสิทธิภาพสร้างสีที่เป็นไปได้เพียง 16,777,216 สี (676,248 กับhueRotateStep=1) โซลูชันการค้นหาที่เร็วขึ้นโดยใช้SPSA : https://stackoverflow.com/a/43960991/181228 ได้รับรางวัล …

11
เหตุใดจึงไม่มี `int pow (int base, int exponent)` ในไลบรารี C ++ มาตรฐาน
ฉันรู้สึกว่าฉันต้องไม่สามารถหามันเจอได้ มีเหตุผลใดที่powฟังก์ชันC ++ ไม่ใช้ฟังก์ชัน "power" สำหรับสิ่งใด ๆ ยกเว้นfloats และdoubles? ฉันรู้ว่าการใช้งานนั้นไม่สำคัญฉันแค่รู้สึกว่าฉันกำลังทำงานที่ควรอยู่ในไลบรารีมาตรฐาน ฟังก์ชั่นการใช้พลังงานที่แข็งแกร่ง (เช่นจัดการกับการล้นด้วยวิธีที่ชัดเจนและสม่ำเสมอ) ไม่ใช่เรื่องสนุกที่จะเขียน

8
Javascript: ปัดเศษขึ้นเป็นผลคูณถัดไปของ 5
ฉันต้องการฟังก์ชันยูทิลิตี้ที่รับค่าจำนวนเต็ม (มีความยาวตั้งแต่ 2 ถึง 5 หลัก) ซึ่งจะปัดเศษขึ้นเป็นตัวคูณถัดไปของ 5 แทนที่จะเป็นตัวคูณที่ใกล้ที่สุดของ 5 นี่คือสิ่งที่ฉันได้รับ: function round5(x) { return (x % 5) >= 2.5 ? parseInt(x / 5) * 5 + 5 : parseInt(x / 5) * 5; } เมื่อฉันวิ่งround5(32)มันให้ฉัน30โดยที่ฉันต้องการ 35 เมื่อฉันวิ่งround5(37)มันให้ฉัน35ที่ฉันต้องการ 40 เมื่อฉันวิ่งround5(132)มันให้ฉัน130ที่ฉันต้องการ 135 เมื่อฉันวิ่งround5(137)มันให้ฉัน135ที่ฉันต้องการ 140 ฯลฯ ... ฉันต้องทำอย่างไร


12
การเปลี่ยนแปลงอย่างรวดเร็ว -> จำนวน -> อัลกอริทึมการจับคู่การเปลี่ยนแปลง
ฉันมี n องค์ประกอบ ยกตัวอย่างเช่น 7 องค์ประกอบ 1234567 ฉันรู้ว่ามี 7! = 5040 การเรียงสับเปลี่ยนที่เป็นไปได้ของ 7 องค์ประกอบเหล่านี้ ฉันต้องการอัลกอริทึมที่รวดเร็วซึ่งประกอบด้วยสองฟังก์ชัน: f (ตัวเลข) จับคู่ตัวเลขระหว่าง 0 ถึง 5039 กับการเรียงสับเปลี่ยนที่ไม่ซ้ำกันและ f '(การเรียงสับเปลี่ยน) แมปการเปลี่ยนแปลงกลับไปยังหมายเลขที่สร้างขึ้น ฉันไม่สนใจเกี่ยวกับความสอดคล้องระหว่างตัวเลขและการเรียงสับเปลี่ยนการให้การเรียงสับเปลี่ยนแต่ละครั้งมีหมายเลขเฉพาะของตัวเอง ตัวอย่างเช่นฉันอาจมีฟังก์ชันที่ f(0) = '1234567' f'('1234567') = 0 อัลกอริทึมที่เร็วที่สุดที่นึกถึงคือการแจกแจงการเรียงสับเปลี่ยนทั้งหมดและสร้างตารางการค้นหาในทั้งสองทิศทางดังนั้นเมื่อสร้างตารางแล้ว f (0) จะเป็น O (1) และ f ('1234567') จะเป็น a ค้นหาสตริง อย่างไรก็ตามนี่คือความจำหิวโดยเฉพาะอย่างยิ่งเมื่อ n มีขนาดใหญ่ ใครสามารถเสนออัลกอริทึมอื่นที่จะทำงานได้อย่างรวดเร็วและไม่มีข้อเสียของหน่วยความจำ?

11
การประเมินนิพจน์ทางคณิตศาสตร์ในสตริง
Наэтотвопросестьответына Stack Overflow нарусском : Вычислениезначенияматематическоговыраженияизизстроком stringExp = "2^4" intVal = int(stringExp) # Expected value: 16 สิ่งนี้ส่งคืนข้อผิดพลาดต่อไปนี้: Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: '2^4' ฉันรู้ว่าevalสามารถแก้ไขปัญหานี้ได้ แต่ไม่มีวิธีที่ดีกว่าและที่สำคัญกว่า - ปลอดภัยกว่าในการประเมินนิพจน์ทางคณิตศาสตร์ที่ถูกเก็บไว้ในสตริงหรือไม่?
113 python  math 

21
ตัดทศนิยมสองตำแหน่งโดยไม่ต้องปัดเศษ
สมมติว่าฉันมีค่า 3.4679 และต้องการ 3.46 ฉันจะตัดทศนิยมให้เหลือสองตำแหน่งโดยไม่ต้องปัดเศษได้อย่างไร ฉันได้ลองทำสิ่งต่อไปนี้แล้ว แต่ทั้งสามให้ 3.47: void Main() { Console.Write(Math.Round(3.4679, 2,MidpointRounding.ToEven)); Console.Write(Math.Round(3.4679, 2,MidpointRounding.AwayFromZero)); Console.Write(Math.Round(3.4679, 2)); } สิ่งนี้ส่งคืน 3.46 แต่ดูเหมือนว่าจะสกปรกอย่างไร: void Main() { Console.Write(Math.Round(3.46799999999 -.005 , 2)); }
109 c#  math  rounding 

16
วิธีที่ดีที่สุดในการหาตัวหารของจำนวนทั้งหมดคืออะไร?
นี่เป็นวิธีที่โง่มาก: def divisorGenerator(n): for i in xrange(1,n/2+1): if n%i == 0: yield i yield n ผลลัพธ์ที่ฉันต้องการจะคล้ายกับผลลัพธ์นี้ แต่ฉันต้องการอัลกอริทึมที่ชาญฉลาดกว่านี้ (อันนี้ช้าและโง่เกินไป :-) ฉันสามารถหาปัจจัยเฉพาะและความทวีคูณได้เร็วพอ ฉันมีเครื่องกำเนิดไฟฟ้าที่สร้างปัจจัยด้วยวิธีนี้: (factor1, multiplicity1) (factor2, multiplicity2) (factor3, multiplicity3) และอื่น ๆ ... คือผลลัพธ์ของ for i in factorGenerator(100): print i คือ: (2, 2) (5, 2) ฉันไม่รู้ว่าสิ่งนี้มีประโยชน์แค่ไหนสำหรับสิ่งที่ฉันต้องการทำ (ฉันเขียนโค้ดสำหรับปัญหาอื่น ๆ ) อย่างไรก็ตามฉันต้องการวิธีที่ชาญฉลาดกว่านี้ในการทำ for i in …
109 python  algorithm  math 

15
วิธีแมป atan2 () ถึงองศา 0-360
atan2(y, x) มีความไม่ต่อเนื่องที่ 180 °ซึ่งจะเปลี่ยนเป็น -180 ° ..0 °ไปตามเข็มนาฬิกา ฉันจะจับคู่ช่วงของค่าเป็น 0 ° ..360 °ได้อย่างไร นี่คือรหัสของฉัน: CGSize deltaPoint = CGSizeMake(endPoint.x - startPoint.x, endPoint.y - startPoint.y); float swipeBearing = atan2f(deltaPoint.height, deltaPoint.width); ฉันกำลังคำนวณทิศทางของเหตุการณ์การสัมผัสที่ปัดตามstartPointและendPointโครงสร้างจุด XY ทั้งสอง รหัสนี้ใช้สำหรับ iPhone แต่ภาษาใดก็ได้ที่รองรับatan2f()จะทำ
108 math  quartz-2d  atan2 

8
เหตุใด Decimal.Divide (int, int) จึงทำงาน แต่ไม่ทำงาน (int / int)
ทำไมการหารตัวเลข int 32 บิตสองตัวเป็น (int / int) จะส่งกลับมาให้ฉัน0แต่ถ้าฉันใช้Decimal.Divide()ฉันจะได้คำตอบที่ถูกต้อง ฉันไม่ได้หมายความว่าผู้ชาย #
107 c#  math  int  divide 

13
ฉันจะใช้ numpy.correlate เพื่อทำ autocorrelation ได้อย่างไร
ฉันต้องสร้างความสัมพันธ์อัตโนมัติของชุดตัวเลขซึ่งตามที่ฉันเข้าใจมันเป็นเพียงความสัมพันธ์ของเซตกับตัวมันเอง ฉันได้ลองใช้ฟังก์ชันสหสัมพันธ์ของ numpy แล้ว แต่ฉันไม่เชื่อผลลัพธ์เพราะมันมักจะให้เวกเตอร์โดยที่ตัวเลขแรกไม่ได้ใหญ่ที่สุดอย่างที่ควรจะเป็น ดังนั้นคำถามนี้เป็นคำถามสองข้อ: กำลังnumpy.correlateทำอะไรกันแน่? ฉันจะใช้มัน (หรืออย่างอื่น) เพื่อสร้างความสัมพันธ์อัตโนมัติได้อย่างไร

19
Modulus Divison ทำงานอย่างไร
ฉันไม่เข้าใจจริงๆว่าการแบ่งโมดูลัสทำงานอย่างไร ฉันกำลังคำนวณ27 % 16และกระทบกระทั่งกับ11ฉันไม่เข้าใจว่าทำไม ดูเหมือนฉันจะหาคำอธิบายในเงื่อนไขของคนธรรมดาทางออนไลน์ไม่ได้ ใครสามารถอธิบายในระดับที่สูงมากว่าเกิดอะไรขึ้นที่นี่?

8
สร้างตัวเลขเป็นเปอร์เซ็นต์
วิธีใดที่ดีที่สุดในการตัด "0. " ออกจากตัวเลข XXX% และทำให้เป็นเปอร์เซ็นต์ จะเกิดอะไรขึ้นถ้าตัวเลขเป็น int? var number1 = 4.954848; var number2 = 5.9797; $(document).ready(function() { final = number1/number2; alert(final.toFixed(2) + "%"); });
106 javascript  math 



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