Chứng minh rằng số dư trong phép chia một số nguyên tố cho 30 chỉ có thể là 1 hoặc là số nguyên tố mới nhất

301 18.webp 18

Update Hướng Dẫn Chứng minh rằng số dư trong phép chia một số trong những nguyên tố cho 30 chỉ trọn vẹn có thể là một trong hoặc là số nguyên tố 2022

Trong điện toán, phép toán modulo là phép toán tìm số dư của phép chia 2 số (đôi lúc được gọi là modulus).

     Thương số (q) và      số dư (r) theo những hàm của số bị chia (a), bằng phương pháp dùng những thuật toán rất khác nhau

Cho hai số dương, (số bị chia) a và (số chia) n, a modulo n (viết tắt là a mod n) là số dư của phép chia có dư Euclid của a cho n. Ví dụ, biểu thức “5 mod 2” bằng 1 vì 5 chia cho 2 có thương số là 2 là số dư là một trong, trong lúc “9 mod 3” bằng 0 do 9 chia 3 có thương số là 3 và số dư 0; không hề gì trong phép trừ của 9 cho 3 nhân 3. (Lưu ý rằng thực thi phép chia bằng máy tính cầm tay sẽ không còn hiển thị kết quả in như phép toán này; thương số sẽ tiến hành màn biểu diễn dưới dạng phần thập phân.)

Mặc dù thường được thực thi khi a và n đều là số nguyên, nhiều hệ tính toán được cho phép sử dụng những kiểu khác của toán học bằng số. Giới hạn của một modulo nguyên của n là tù 0 đến n − 1. (a mod 1 luôn bằng 0; a mod 0 là không xác lập, trọn vẹn có thể trả về lỗi chia cho số 0 trong nhiều ngôn từ lập trình.) Xem số học mô-đun để tìm những quy ước cũ hơn và tương quan được vận dụng trong lý thuyết số.

Khi hoặc a hoặc n là số âm, định nghĩa cơ bản bị phá vỡ và những ngôn từ lập trình rất khác nhau trong việc định nghĩa những kết quả này.

Toán tử modulo của số nguyên trong nhiều ngôn từ lập trình rất khác nhau

Ngôn ngữ

Toán tử

Kết quả có cùng dấu với
ABAP

MOD

Luôn không âm
ActionScript

%

Số bị chia
Ada

mod

Số chia
rem

Số bị chia
ALGOL 68

÷×, mod

Luôn không âm
AMPL

mod

Số bị chia
APL

|[1]
Số chia
AppleScript

mod

Số bị chia
AutoLISP

(rem d n)

Số dư
AWK

%

Số bị chia
BASIC

Mod

Không xác lập
bash

%

Số bị chia
bc

%

Số bị chia
C (ISO 1990)

%

Định nghĩa tùy thuộc setup
div

ngôn từ lập trình
C++ (ISO 1998)

%

Định nghĩa tùy thuộc setup[1]div

Số bị chia
C (ISO 1999)

%, div

Số bị chia[2]C++ (ISO 2011)

%, div

Số bị chia
C#

%

Số bị chia
Clarion

%

Số bị chia
Clojure

mod

Số chia
rem

Số bị chia
COBOL[2]
FUNCTION MOD

Số chia
CoffeeScript

%

Số bị chia
%%

Số chia[3]ColdFusion

%, MOD

Số bị chia
Common Lisp

mod

Số chia
rem

Số bị chia
Construct 2

%

D

%

Số bị chia[4]Dart

%

Luôn không âm
remainder()

Số bị chia
Eiffel

Erlang

rem

Số bị chia
Euphoria

mod

Số chia
remainder

Số bị chia
F#

%

Số bị chia
FileMaker

Mod

Số chia
Forth

mod

tùy thuộc vào setup
Fortran

mod

Số bị chia
modulo

Số chia
Frink

mod

Số chia
GameMaker: Studio (GML)

mod, %

Số bị chia
GDScript

%

Số bị chia
Go

%

Số bị chia
Haskell

mod

Số chia
rem

Số bị chia
Haxe

%

Số bị chia
Kotlin

%

Số bị chia
J

|[3]
Số chia
Java

%

Số bị chia
Math.floorMod

Số chia
JavaScript

%

Số bị chia
Julia

mod

Số chia
rem

Số bị chia
LabVIEW

mod

Số bị chia
LibreOffice

=MOD()

Số chia
Lua 5

%

Số chia
Lua 4

mod(x,y)

Số chia
Liberty BASIC

MOD

Số bị chia
Mathcad

mod(x,y)

Số chia
Maple

e mod m

Luôn không âm
Mathematica

Mod[a, b]

Số chia
MATLAB

mod

Số chia
rem

Số bị chia
Maxima

mod

Số chia
remainder

Số bị chia
Maya Embedded Language

%

Số bị chia
Microsoft Excel

=MOD()

Số chia
Minitab

MOD

Số chia
mksh

%

Số bị chia
Modula-2

MOD

Số chia
REM

Số bị chia
MUMPS

#

Số chia
Netwide Assembler (NASM, NASMX)

%

toán tử modulo không dấu
%%

toán tử modulo có dấu
Oberon

MOD

Số chia[4]Object Pascal, Delphi

mod

Số bị chia
OCaml

mod

Số bị chia
Occam

Số bị chia
Pascal (ISO-7185 and -10206)

mod

Luôn không âm
Perl

%

Số chia[5]PHP

%

Số bị chia
PIC BASIC Pro

Số bị chia
PL/I

mod

Số chia (ANSI PL/I)
PowerShell

%

Số bị chia
Progress

modulo

Số bị chia
Prolog (ISO 1995)

mod

Số chia
rem

Số bị chia
PureBasic

%,Mod(x,y)

Số bị chia
Python

%

Số chia
math.fmod

Số bị chia
Racket

remainder

Số bị chia
RealBasic

MOD

Số bị chia
R

%%

Số chia
Rexx

//

Số bị chia
RPG

%REM

Số bị chia
Ruby

%, modulo()

Số chia
remainder()

Số bị chia
Rust

%

Số bị chia
Scala

%

Số bị chia
Scheme

modulo

Số chia
remainder

Số bị chia
Scheme R6RS

mod

Luôn không âm[5]mod0

Nearest to zero[5]Seed7

mod

Số chia
rem

Số bị chia
SenseTalk

modulo

Số chia
rem

Số bị chia
Smalltalk

Số chia
rem:

Số bị chia
Spin

//

Số chia
SQL (SQL:1999)

mod(x,y)

Số bị chia
SQL (SQL:2012)

%

Số bị chia
Standard ML

mod

Số chia
Int.rem

Số bị chia
Stata

mod(x,y)

Luôn không âm
Swift

%

Số bị chia
Tcl

%

Số chia
Torque

%

Số bị chia
Turing

mod

Số chia
Verilog (2001)

%

Số bị chia
VHDL

mod

Số chia
rem

Số bị chia
VimL

%

Số bị chia
Visual Basic

Mod

Số bị chia
x86 assembly

IDIV

Số bị chia
XBase++

%

Số bị chia
Mod()

Số chia
Z3 theorem prover

div, mod

Luôn không âm
Toán tử modulo của số chấm động trong nhiều ngôn từ lập trình

Ngôn ngữ

Toán tử

Kết quả có cùng dấu với
ABAP

MOD

Luôn không âm
C (ISO 1990)

fmod

Số bị chia[6]C (ISO 1999)

fmod

Số bị chia
remainder

Gần với số 0
C++ (ISO 1998)

std::fmod

Số bị chia
C++ (ISO 2011)

std::fmod

Số bị chia
std::remainder

Gần với số 0
C#

%

Số bị chia
Common Lisp

mod

Số chia
rem

Số bị chia
D

%

Số bị chia
Dart

%

Luôn không âm
remainder()

Số bị chia
F#

%

Số bị chia
Fortran

mod

Số bị chia
modulo

Số chia
Go

math.Mod

Số bị chia
Haskell (GHC)

Data.Fixed.mod’

Số chia
Java

%

Số bị chia
JavaScript

%

Số bị chia
LabVIEW

mod

Số bị chia
Microsoft Excel

=MOD()

Số chia
OCaml

mod_float

Số bị chia
Perl

POSIX::fmod

Số bị chia
Perl6

%

Số chia
PHP

fmod

Số bị chia
Python

%

Số chia
math.fmod

Số bị chia
Rexx

//

Số bị chia
Ruby

%, modulo()

Số chia
remainder()

Số bị chia
Scheme R6RS

flmod

Luôn không âm
flmod0

Gần với số 0
Standard ML

Real.rem

Số bị chia
Swift

truncatingRemainder(dividingBy:)

Số bị chia
XBase++

%

Số bị chia
Mod()

Số chia

Trong toán học, kết quả của phép toán modulo là số dư của phép chia có dư. Tuy vậy những quy ước khác vẫn tồn tại. Máy vi tính và máy tính có nhiều cách thức rất khác nhau để tàng trữ và đại diện thay mặt thay mặt cho những số; do đó định nghĩa của chúng về phép toán modulo tùy từng ngôn từ lập trình hoặc phần cứng máy tính phía dưới cơ bản.

Trong hầu hết những khối mạng lưới hệ thống máy tính, thương số q và số dư r của phép chia a cho n thỏa mãn nhu cầu

q

Z

a

=
n
q
+
r

|

r

|

<

|

n

|

displaystyle endaligned
 

(1)

Tuy nhiên, vẫn còn đấy sự nhập nhằng về dấu nếu số dư khác không: hai lựa chọn trọn vẹn có thể cho số dư xẩy ra, một âm và một dương, và hai lựa chọn cho thương số xẩy ra. Trong lý thuyết số, thường thì số dư dương luôn luôn được chọn, nhưng lựa chọn của những ngôn từ lập trình tùy thuộc vào ngôn từ và dấu của a hoặc n.[6] Ngôn ngữ Pascal và ALGOL 68 tiêu chuẩn chọn số dư dương (hoặc 0) kể cả khi số chia là những số âm, riêng với một vài ngôn từ lập trình như C90 thì dấu tùy thuộc vào setup khi hoặc n hoặc a là số âm. Xem bảng để biết rõ ràng. a modulo 0 là không xác lập trong hầu hết những khối mạng lưới hệ thống, tuy nhiên một số trong những khối mạng lưới hệ thống định nghĩa là a.

Theo mô tả của Leijen,

Boute argues that Euclidean division is superior to the other ones in terms of regularity and useful mathematical properties, although floored division, promoted by Knuth, is also a good definition. Despite its widespread use, truncated division is shown to be inferior to the other definitions.
(Tạm dịch: Boute lập luận rằng phép chia có dư là vượt trội so với những phép chia khác về tính chất đều đặn và những thuộc tính toán học hữu ích, mặc dầu với phép chia sàn, được Knuth ủng hộ, cũng là một định nghĩa tốt. Tuy được sử dụng rộng tự do, phép chia rút gọn được chứng tỏ kém hơn những định nghĩa khác.)

— Daan Leijen, Division and Modulus for Computer Scientists[9]

Tuy nhiên, Boute triệu tập vào những tính chất của chính phép toán modulo và không nhìn nhận thực sự là phép chia rút gọn (tiếng Anh: truncated division) đã cho toàn bộ chúng ta biết sự đối xứng của (-a) div n = -(a div n) và a div (-n) = -(a div n), mà cũng tương tự như phép chia thường thì. Bởi vì cả hai phép chia sàn và phép chia có dư đều không còn tính đối xứng này, phán đoán của Boute tối thiểu là không toàn vẹn và tổng thể.[cần dẫn nguồn]

Bài viết hay đoạn này trọn vẹn có thể chứa nghiên cứu và phân tích không được công bố. Xin hãy cải tổ nội dung bài viết bằng phương pháp xác minh những xác lập và thêm vào những chú thích tìm hiểu thêm. Những xác lập chứa những nghiên cứu và phân tích chưa công bố cần phải vô hiệu. (Tháng một năm 2018)

Nếu kết quả của phép chia modulo có dấu của số bị chia thì sẽ dẫn đến những sai lầm không mong muốn đáng ngạc nhiên.

Ví dụ, để kiểm tra tính lẻ của một số trong những nguyên, ta trọn vẹn có thể kiểm tra số dư khi chia cho có bằng 1:

bool is_odd(int n)
return n % 2 == 1;

Khi ngôn từ lập trình có số dư có dấu của số bị chia, việc kiểm tra sẽ sai, do khi n (số bị chia) là số âm lẻ, n mod 2 trả về −1, và hàm trả về false.

Có thể sửa lại sai lầm không mong muốn đó bằng phương pháp kiểm tra rằng kết quả khác 0 (do số dư bằng 0 được xem xét như nhau bất kể dấu):

bool is_odd(int n)
return n % 2 != 0;

Hay là, bằng việc hiểu trước rằng với bất kỳ số lẻ nào, số dư modulo trọn vẹn có thể hoặc bằng 1 hoặc −1:

bool is_odd(int n)

Một số máy tính cầm tay có nút của hàm mod(), và nhiều ngôn từ lập trình khác có hàm tương tự, màn biểu diễn cho mod(a, n). Một vài ngôn từ tương hỗ những biễu thức mà dùng “%”, “mod”, hoặc “Mod” là toán tử modulo hoặc toán tử lấy số dư, ví dụ nổi bật

a % n

hoặc

a mod n

hoặc tương tự cho môi trường tự nhiên vạn vật thiên nhiên thiếu hàm mod() (để ý quan tâm rằng kiểu ‘int’ vốn đã sinh ra giá trị rút gọn a/n)

a – (n * int(a/n))

Phép toán modulo trọn vẹn có thể được setup sao cho từng lần phép chia với số dư được xem. Đôi với nhu yếu đặc biệt quan trọng, trên vài phần cứng, tồn tại những phép toán tương tự nhưng nhanh hơn. Ví dụ, modulo cho lũy thừa của 2 trọn vẹn có thể biễu diễn tương tự bởi phép toán bitwise AND:

x % 2n == x & (2n – 1)

Ví dụ (giả sử x là số nguyên dương):

x % 2 == x & 1
x % 4 == x & 3
x % 8 == x & 7

Trong những thiết bị và ứng dụng mà setup toán tử bitwise hiệu suất cao hơn toán tử modulo, những dạng thay thế này trọn vẹn có thể dẫn đến tính toán nhanh hơn.[10]

Các trình biên dịch tối ưu hóa trọn vẹn có thể nhận diện những biểu thức có dạng expression % constant trong số đó constant là lũy thừa của 2 và tự động hóa setup chúng thành expression & (constant-1). Điều này được cho phép viết mã rõ ràng hơn mà không tác động đến hiệu suất. Cách tối ưu hóa này sẽ không còn vận dụng cho những ngôn từ mà kết quả của phép toán modulo có cùng dẫu với số bị chia (gồm có C), trừ phi số bị chia là kiểu số nguyên không dấu. Bởi vì nếu số bị chia là số âm thì modulo sẽ là số âm trong lúc expression & (constant-1) sẽ luôn dương.

Một số phép toán modulo trọn vẹn có thể được mở rộng tương tự sang những phép toán toán học khác. Điều này còn có tính hữu dụng trong những chứng tỏ mật mã học, ví dụ nổi bật trao đổi khóa Diffie-Hellman.

  • ^ “ISO/IEC 14882:2003: programming languages – C++”. 5.6.4: International Organization for Standardization (ISO), International Electrotechnical Commission (IEC). 2003. Chú thích journal cần |journal= (trợ giúp)Quản lý CS1: khu vực (link). “the binary % operator yields the remainder from the division of the first expression by the second….. If both operands are nonnegative then the remainder is nonnegative; if not, the sign of the remainder is implementation-defined”.
  • ^ open-std.org, mục 6.5.5
  • ^ CoffeeScript operators
  • ^ “Expressions”. D ngôn từ lập trình 2.0. Digital Mars. Truy cập ngày 29 tháng 7 năm 2010.
  • ^ a b r6rs.org
  • ^ “ISO/IEC 9899:1990: programming languages – C”. 7.5.6.4: ISO, IEC. 1990. Chú thích journal cần |journal= (trợ giúp)Quản lý CS1: khu vực (link) “The fmod function returns the value x – i * y, for some integer i such that, if y is nonzero, the result as the same sign as x and magnitude less than the magnitude of y.”.
  • ^ Knuth, Donald. E. (1972). The Art of Computer Programming. Addison-Wesley.
  • ^ Boute, Raymond T. (tháng bốn năm 1992). “The Euclidean definition of the functions div and mod”. ACM Transactions on Programming Languages and Systems. ACM Press (Tp New York, NY, USA). 14 (2): 127–144. doi:10.1145/128861.128862.
  • ^ Leijen, Daan (Tháng 3 năm 2001). “Division and Modulus for Computer Scientists (Tạm dịch: Phép chia và Phép Modulus của những nhà khoa học máy tính)” (PDF). Truy cập ngày 25 tháng 12 năm năm trước đó.
  • ^ Horvath, Adam (ngày 5 tháng 7 thời gian năm 2012). “Faster division and modulo operation – the power of two”.
  • ^ Perl documentation
  • Lấy từ “https://vi.wikipedia.org/w/index.php?title=Phép_toán_modulovàamp;oldid=68456981”

    Review Chứng minh rằng số dư trong phép chia một số trong những nguyên tố cho 30 chỉ trọn vẹn có thể là một trong hoặc là số nguyên tố ?

    Bạn vừa tìm hiểu thêm nội dung bài viết Với Một số hướng dẫn một cách rõ ràng hơn về Video Chứng minh rằng số dư trong phép chia một số trong những nguyên tố cho 30 chỉ trọn vẹn có thể là một trong hoặc là số nguyên tố mới nhất , Bạn đang tìm một số trong những Chia SẻLink Download Chứng minh rằng số dư trong phép chia một số trong những nguyên tố cho 30 chỉ trọn vẹn có thể là một trong hoặc là số nguyên tố Free.

    Hỏi đáp thắc mắc về Chứng minh rằng số dư trong phép chia một số trong những nguyên tố cho 30 chỉ trọn vẹn có thể là một trong hoặc là số nguyên tố

    Nếu sau khoản thời hạn đọc nội dung bài viết Chứng minh rằng số dư trong phép chia một số trong những nguyên tố cho 30 chỉ trọn vẹn có thể là một trong hoặc là số nguyên tố vẫn chưa hiểu thì trọn vẹn có thể lại Comments ở cuối bài để Mình lý giải và hướng dẫn lại nha
    #Chứng #minh #rằng #số #dư #trong #phép #chia #một #số #nguyên #tố #cho #chỉ #có #thể #là #hoặc #là #số #nguyên #tố

    Exit mobile version