วิธีคำนวณ Mod b ในเครื่องคิดเลข Casio fx-991ES


96

มีใครรู้วิธีคำนวณ Mod b ในเครื่องคิดเลข Casio fx-991ES บ้าง ขอบคุณ


1
คุณควรใช้เครื่อง Google จริงๆ ดูที่นี่: thestudentroom.co.uk/showthread.php?t=38469
Blender

8
+1 สำหรับการถามคำถามเกี่ยวกับเครื่องคิดเลขคาสิโอ
John Alexiou

3
คำถามนี้ดูเหมือนจะไม่ตรงประเด็นเพราะไม่เกี่ยวกับการเขียนโปรแกรม
bummi

@bummi เราไม่ควรย้ายไปที่ math.stackexchange งั้นเหรอ?
Benjamin R

2
ฉันลงคะแนนเพื่อปิดคำถามนี้เป็นปิดหัวข้อเพราะมันไม่ได้เกี่ยวกับการเขียนโปรแกรมตามที่กำหนดโดยศูนย์ช่วยเหลือ
TylerH

คำตอบ:


137

เครื่องคิดเลขนี้ไม่มีฟังก์ชันโมดูโลใด ๆ อย่างไรก็ตามมีวิธีง่ายๆในการคำนวณโมดูโลโดยใช้โหมดการแสดงผลab/c(แทนที่จะเป็นแบบดั้งเดิมd/c)

วิธีเปลี่ยนโหมดการแสดงผลเป็นab/c:

  • ไปที่การตั้งค่า ( Shift+ Mode)
  • กดลูกศรลง (เพื่อดูการตั้งค่าเพิ่มเติม)
  • เลือกab/c(หมายเลข 1)

ตอนนี้ทำคำนวณของคุณ (ในโหมด comp) เช่น50 / 3และคุณจะเห็นจึงเป็น16 2/3 mod 2หรือลอง54 / 7ซึ่งเป็น7 5/7(mod is 5) หากคุณไม่เห็นเศษส่วนใด ๆ แสดงว่า mod จะเป็น0เหมือน50 / 5 = 10(mod is 0)

ส่วนที่เหลือจะถูกแสดงในรูปแบบที่ลดลงดังนั้นจะส่งผลให้60 / 8 7 1/2ที่เหลือเป็น1/2ซึ่งเป็น4/8mod 4เพื่อให้เป็น

แก้ไข: ตามที่ @lawal ระบุไว้อย่างถูกต้องวิธีนี้ค่อนข้างยุ่งยากสำหรับตัวเลขติดลบเนื่องจากสัญลักษณ์ของผลลัพธ์จะเป็นลบ

ตัวอย่างเช่น-121 / 26 = -4 17/26mod คือ-17ซึ่งอยู่+9ใน mod 26 หรือคุณสามารถเพิ่มฐาน modulo ในการคำนวณสำหรับจำนวนลบ: -121 / 26 + 26 = 21 9/26(mod is 9)

แก้ไข 2: ตามที่ @simpatico ชี้ให้เห็นวิธีนี้จะใช้ไม่ได้กับตัวเลขที่เกินความแม่นยำของเครื่องคิดเลข หากคุณต้องการคำนวณให้บอกว่า200^5 mod 391จำเป็นต้องใช้เทคนิคบางอย่างจากพีชคณิต ตัวอย่างเช่นการใช้กฎ (A * B) mod C = ((A mod C) * B) mod Cเราสามารถเขียน:

200^5 mod 391 = (200^3 * 200^2) mod 391 = ((200^3 mod 391) * 200^2) mod 391 = 98


6
@simpatico เนื่องจาก 200 ^ 5 อยู่นอกช่วงของความแม่นยำของการคำนวณคุณจึงต้องใช้เทคนิคบางอย่างจากพีชคณิต ตัวอย่างเช่น: 200 ^ 5 mod 391 = (200 ^ 3 mod 391) * 200 ^ 2 mod 391 = 98 (คุณสามารถใช้ mod ได้ทุกเมื่อในระหว่างการคำนวณ)
NightElfik

1
ผลลัพธ์นี้จะไม่ถูกต้องสำหรับตัวเลขติดลบ ตัวอย่างเช่น -121 mod 26 = 9 เพราะ -121 = -5 * 26 + 9 แต่ 121 mod 26 = 17 เพราะ 121 = 4 * 26 + 17
lawal

แล้วในกรณีของเลขฐานสิบ ชอบ -1/2 mod 23 ไหม William Stalling (ความปลอดภัยของเครือข่ายและการเข้ารหัส) กล่าวว่าเป็น 11 แต่ฉันไม่เข้าใจวิธีการ
Sohaib

@Sohaib ฉันเดาว่ามันขึ้นอยู่กับคำจำกัดความของการทำงานของโมดูโล ฉันนึกภาพออกง่ายๆว่าการขยายการทำงานของโมดูโลเป็นจำนวนจริงที่กำหนดไว้ในลักษณะที่คล้ายกันเพื่อเป็นการเตือนความจำหลังการหารจำนวนเต็ม ในกรณี3.14159 mod 1.4นั้นจะเป็น0.34159( 3.14159 = 2 * 1.4 + 0.34159) ในทำนองเดียวกันคุณสามารถพูดได้ว่าหากการเตือนความจำเป็นลบคุณจะเปลี่ยนเป็นบวกดังนั้นตัวอย่างของคุณ-0.5 mod 23จะอยู่22.5ในหนังสือของฉัน แต่อีกครั้งแอปพลิเคชันบางตัวอาจกำหนดโมดูโลในลักษณะที่แตกต่างกัน
NightElfik

1
นอกจากนี้ตัวส่วนจะต้องตรงกับเศษส่วนดั้งเดิมมิฉะนั้นค่าในตัวเศษจะไม่ใช่โมดูโลที่ถูกต้อง
powersource97

50

เท่าที่ฉันรู้เครื่องคิดเลขนั้นไม่มีฟังก์ชัน mod อย่างไรก็ตามคุณสามารถใช้คอมพิวเตอร์ด้วยมือได้อย่างตรงไปตรงมา เช่น

(1) 50 สมัย 3

(2) 50/3 = 16.66666667

(3) 16.66666667 - 16 = 0.66666667

(4) 0.66666667 * 3 = 2

ดังนั้น 50 mod 3 = 2

สิ่งที่ควรทราบ: ในบรรทัดที่ 3 เราได้ "ลบ 16" โดยดูผลลัพธ์จากบรรทัด (2) และละเว้นทุกอย่างหลังทศนิยม 3 ในบรรทัด (4) คือ 3 เหมือนกันจากบรรทัด (1)

หวังว่าจะได้รับความช่วยเหลือ

แก้ไขเนื่องจากการทดลองบางอย่างคุณอาจได้รับ x.99991 ซึ่งคุณจะปัดเศษขึ้นเป็นจำนวน x + 1


และฉันจะแปลงทศนิยมเป็นการสนทนาไบนารีโดยใช้เครื่องคิดเลขได้อย่างไรถ้าฉันไม่มีกลไกฐานในเครื่องคิดเลข
Faizan

ฉันสามารถหาโมดูลัสของค่าลบได้โดยทำตามขั้นตอนข้างต้นหรือไม่ ตัวอย่าง -151 mod 26
Rohit Kiran

@ ฟาอิซานนี่เป็นคำถาม / ปัญหาแยกต่างหากลองถามคำถามของคุณเอง (ถ้ายังไม่มี) แต่วิธีที่ง่ายที่สุดที่ฉันพบคือการแปลงเป็นเลขฐานสิบหกซึ่งจะแปลงเป็นเลขฐานสองทันที (เช่น 10 ธันวาคม = Hex A = Binary 1010) มีวิธีการที่ค่อนข้างง่ายในการเปลี่ยนระหว่างค่าทศนิยมที่ใหญ่มาก (หรือเล็กมาก!) ถึงฐานสิบหก Google 'em ฉันต้องใช้มันในคำถามสอบ CS ปีแรกของฉัน หากคุณต้องการตรวจสอบไบนารีของสิ่งใดก็ตามให้ใช้เลขฐานสิบหกแทนทศนิยมเสมอ
Benjamin R

@RohitKiran ถ้าคุณบวก (แทนการลบ) n ทวีคูณ 26 ถึง -151 จนกว่าคุณจะได้ค่าบวก x st 0 ≤ x <26 คุณจะเห็นว่า -151 ≡ x (mod 26) หรือหากต้องการใช้วิธีอื่นให้ใช้ -26 แทนจากนั้นทำตามขั้นตอนที่ (2) ซึ่งโดยวิธีการช้าเกินไปจึงทำไม่ได้ แต่ก็ยังคุ้มค่าที่จะรู้
Benjamin R

แต่ในกรณีนี้ถ้าค่าเศษส่วนมีค่ามากผล iun มันจะถูกปัดเศษและคุณไม่สามารถได้ผลลัพธ์ที่ถูกต้อง
HMS

16

คุณต้องมี10 ÷ R 3 = 1 สิ่งนี้จะแสดงทั้งการแจ้งเตือนและสิ่งที่เป็นอยู่


÷ร

ป้อนคำอธิบายภาพที่นี่


7
รุ่นไหนกันแน่ ใน Casio fx-991ES PLUS ของฉันไม่มีปุ่ม R นี้ :(
Bak Itzik

1
โปรดระวังในขณะที่ส่วนที่เหลือที่แสดงนั้นถูกต้องสำหรับการหารเดียวในนิพจน์ที่ใหญ่กว่าตัวดำเนินการจะไม่ทำหน้าที่เป็นตัวดำเนินการโมดูโล จากคู่มือ: หากการคำนวณ÷ R เป็นส่วนหนึ่งของการคำนวณหลายขั้นตอนผลหารเท่านั้นที่จะถูกส่งไปยังการดำเนินการถัดไป เช่น. (2 ÷ R3 + 3 ÷ R3) = 1 อย่างไรก็ตาม (2mod3 + 3mod3) = 2
mtone

ฉันคิดว่านี่คือ Casio fx-115ES PLUS
Rafay

1
ขอบคุณมันทำงานได้อย่างสมบูรณ์แบบคุณควรจะสูงขึ้น ฉันมี fx-991sp x II และทำงานได้อย่างสมบูรณ์แบบ สิ่งที่ฉันกำลังมองหา
JFValdes

14

มีสวิตช์ a^b/c

หากต้องการคำนวณ

491 mod 12

จากนั้นป้อน 491 กดa^b/cแล้วป้อน 12 จากนั้นคุณจะได้ 40, 11, 12 ตรงนี้ตรงกลางจะเป็นคำตอบที่เป็น 11

ในทำนองเดียวกันถ้าคุณต้องการคำนวณ41 mod 12หา 41 a^b/c12 คุณจะได้ 3, 5, 12 และคำตอบคือ 5 (อันกลาง) modอยู่เสมอค่ากลาง


ทำไมมันไม่มีประโยชน์? มันไม่ใช่วิธีที่ตรง .. แต่เราสามารถหาคำตอบได้
shantocv

4
ฉันไม่ได้ลงคะแนน แต่คำตอบของคุณใช้วิธีการเดียวกับวิธีการที่ได้รับการโหวตสูงสุด นอกจากนี้ยังอธิบายไม่ดีมาก
zurfyx

1
@Jerry จริงๆแล้วเครื่องคิดเลข (Casio) บางตัวมีa^b/cปุ่มตรงและไม่มีฟังก์ชันใด ๆ ที่ตรงกับคำตอบด้านบนซึ่งฉันคิดว่าเป็นเครื่องคิดเลข TI ฉันใช้อินเทอร์เน็ตเพื่อหาคำอธิบายอย่างตรงไปตรงมาเกี่ยวกับวิธีใช้a^b/cในการคำนวณส่วนที่เหลือของการหารจำนวนเต็มใน Casio fx-9750GA PLUS ของฉันและสิ่งนี้ก็ตรงไปตรงมาอย่างไม่น่าเชื่อหลังจากการแก้ไขของ Ajoy
Benjamin R

อย่างไรก็ตามฉันควรทราบว่าแม้ว่าจะประหยัดเวลา แต่ก็ยังไม่สามารถใช้งานร่วมกับค่าขนาดใหญ่ได้ (เช่น 10 หลัก +)
Benjamin R

2
45 a^b/c6 ให้ค่ากลาง 1. ในขณะที่โมดูลัสที่แท้จริงคือ 3 เป็นอย่างไร?
venkatvb

11

คุณสามารถคำนวณA mod B (สำหรับจำนวนบวก) โดยใช้สิ่งนี้:

พล (-Rec ( 1 / r , 2π r × A / B ), Y) (π r - Y) B

จากนั้นกดปุ่ม[CALC]และป้อนค่าของคุณสำหรับและBและค่าใด ๆ สำหรับY

/ระบุโดยใช้แป้นเศษส่วนและrหมายถึงเรเดียน ( [SHIFT] [Ans] [2] )


ฟังก์ชั่นซับซ้อนเกินไปจนพิมพ์ไม่ถูก! อย่างไรก็ตามสิ่งที่แทนที่เครื่องหมายลบระหว่าง Pol และ Rec คืออะไร ??
Mina Michael

โอ้มันแค่ลบ! ทำไมต้องตัวยก ??
Mina Michael

4

นี่คือวิธีที่ฉันมักจะทำ ตัวอย่างเช่นในการคำนวณ1717 mod 2:

  • 1717 / 2เอา คำตอบคือ 858.5
  • ตอนนี้ใช้ 858 แล้วคูณด้วย mod ( 2) เพื่อรับ1716
  • สุดท้ายลบหมายเลขเดิม ( 1717) ลบหมายเลขที่คุณได้จากขั้นตอนก่อนหน้า ( 1716) 1717-1716=1-

ดังนั้นเป็น1717 mod 21

ในการสรุปสิ่งที่คุณต้องทำคือคูณตัวเลขก่อนจุดทศนิยมด้วยตัวดัดแปลงจากนั้นลบออกจากจำนวนเดิม


3

ทุกอย่างกลับไปที่นิยามของโมดูลัสนั่นคือส่วนที่เหลือตัวอย่างเช่น 7 mod 3 = 1 เนื่องจาก 7 = 3 (2) + 1 ซึ่ง 1 คือส่วนที่เหลือ

ในการทำขั้นตอนนี้ด้วยเครื่องคิดเลขง่ายๆให้ทำดังนี้รับเงินปันผล (7) แล้วหารด้วยตัวหาร (3) จดคำตอบและทิ้งทศนิยมทั้งหมด -> ตัวอย่าง 7/3 = 2.3333333 กังวลเฉพาะกับ 2 ตอนนี้คูณจำนวนนี้ด้วยตัวหาร (3) แล้วลบจำนวนผลลัพธ์ออกจากเงินปันผลเดิม

ดังนั้น 2 * 3 = 6 และ 7 - 6 = 1 ดังนั้น 1 จึงเป็น 7mod3


1
วิธีการของคุณถูกต้องและชัดเจน แต่ใช้ไม่ได้กับเงื่อนไขส่วนใหญ่ที่คุณจะต้องใช้เครื่องคิดเลขตั้งแต่แรก ในการสอบคณิตศาสตร์แบบไม่ต่อเนื่องบอกว่าถ้าคุณพยายามหาค่าความสอดคล้องกันของเลขชี้กำลังที่มีขนาดใหญ่มากวิธีนี้จะเป็นไปไม่ได้โดยตรงและช้าเกินไปโดยอ้อม - โดยปกติคุณจะต้องเข้ารหัส / ถอดรหัส RSA เล็กน้อยในการสอบโดย มือและไม่มีฟังก์ชัน mod ในตัวมันใช้เวลามากเกินไป แม้แต่อาจารย์ของเราก็บอกเราเช่นนี้ ไม่ใช่การวิจารณ์คำตอบของคุณเพียงแค่ชี้ให้เห็นว่าเป็นข้อ จำกัด ในทางปฏิบัติ
Benjamin R



1

คำนวณx/y(ตัวเลขจริงของคุณที่นี่) และกดa b/cปุ่มซึ่งเป็นหมายเลขที่ 3 ด้านล่างShiftคีย์

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