ฉันอยู่ที่บ้านเพื่อนเพื่อทานอาหารค่ำและพวกเขาแนะนำแนวคิดของ "พื้นที่เวกเตอร์ไพรม์แฟคเตอร์" ในพื้นที่นี้จำนวนเต็มบวกจะแสดงเป็นเวกเตอร์ดังกล่าวที่n TH องค์ประกอบในเวกเตอร์คือจำนวนครั้งที่n TH แบ่งนายกจำนวน (โปรดทราบว่านี่หมายความว่าเวกเตอร์ของเรามีจำนวนคำไม่ จำกัด ) ตัวอย่างที่20คือ
2 0 1 0 0 0 ...
เพราะตัวประกอบที่สำคัญของมันคือ2 * 2 * 5
เนื่องจากการแยกตัวประกอบเฉพาะนั้นไม่เหมือนใครแต่ละตัวเลขจึงสอดคล้องกับเวกเตอร์หนึ่งตัว
เราสามารถเพิ่มเวกเตอร์โดยการเพิ่มรายการของพวกเขาในแนวนอน นี่เหมือนกับการคูณตัวเลขที่สัมพันธ์กัน เราสามารถทำการคูณสเกลาร์ซึ่งคล้ายกับการเพิ่มจำนวนที่เกี่ยวข้องกับกำลัง
ปัญหาคือว่าพื้นที่นี้ไม่ได้เป็นพื้นที่เวคเตอร์ในความเป็นจริงเพราะไม่มีผู้รุกราน ถ้าเราไปข้างหน้าและเพิ่มผู้รุกรานและปิดพื้นที่เวกเตอร์ตอนนี้เรามีวิธีแสดงจำนวนตรรกยะเชิงบวกทุกอย่างในฐานะเวกเตอร์ ถ้าเราเก็บความจริงที่ว่าการบวกเวกเตอร์แทนการคูณ จากนั้นค่าผกผันของจำนวนธรรมชาติคือส่วนกลับของ
ตัวอย่างเช่นหมายเลข20มีเวกเตอร์
2 0 1 0 0 0 ...
ดังนั้นเศษส่วน1/20จึงเป็นค่าผกผัน
-2 0 -1 0 0 0 ...
ถ้าเราอยากหาเวกเตอร์ที่เกี่ยวข้องกับเศษส่วนเช่น14/15เราก็จะได้14
1 0 0 1 0 0 ...
และ1/15
0 -1 -1 0 0 0 ...
และคูณพวกมันด้วยการบวกเวกเตอร์
1 -1 -1 1 0 0 ...
ตอนนี้เรามีพื้นที่เวกเตอร์เราสามารถแก้ไขมันเพื่อสร้างพื้นที่ผลิตภัณฑ์ภายในโดยให้มันเป็นผลิตภัณฑ์ภายใน ในการทำเช่นนี้เราได้ขโมยผลิตภัณฑ์ด้านในที่มีการเว้นวรรคแบบเวกเตอร์ ผลคูณด้านในของเวกเตอร์สองตัวนั้นหมายถึงผลรวมของการคูณด้วยจำนวนคู่ของเทอม ตัวอย่างเช่น20 · 14/15 จะถูกคำนวณดังนี้
20 = 2 0 1 0 0 0 ...
14/15 = 1 -1 -1 1 0 0 ...
2 0 -1 0 0 0 ... -> 1
เป็นอีกตัวอย่างหนึ่งของผลิตภัณฑ์2/19 · 4/19
2/19 = 1 0 0 0 0 0 0 -1 0 0 0 ...
4/19 = 2 0 0 0 0 0 0 -1 0 0 0 ...
2 0 0 0 0 0 0 1 0 0 0 ... -> 3
งานของคุณคือการใช้โปรแกรมที่ดำเนินการจุดผลิตภัณฑ์นี้ ควรใช้จำนวนตรรกยะบวกสองตัวผ่านคู่ของจำนวนเต็มบวก (ตัวเศษและตัวหาร) หรือประเภทเชือด (ไม่อนุญาตให้ลอยตัวเพราะทำให้เกิดปัญหากับความแม่นยำและการหาร) และควรเอาท์พุทจำนวนเต็มแทนจำนวนดอทโปรดัคของทั้งสอง ปัจจัยการผลิต
นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์น้อยกว่าจะดีกว่า
กรณีทดสอบ
4 · 4 = 4
8 · 8 = 9
10 · 10 = 2
12 · 12 = 5
4 · 1/4 = -4
20 · 14/15 = 1
2/19 · 4/19 = 3