1. Trang chủ
  2. » Giáo Dục - Đào Tạo

SKKN tính nguyên tố của một số nguyên và sử dụng tính nguyên tố để giải quyết một số bài toán

21 29 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 146 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong quá trình dạy học sinh và đứng đội tuyển học sinh giỏi tôi thấyrằng nhiều bài toán sẽ được giả quyết nhanh nếu chúng ta biết tính chất của các số và áp dụng hợp lý.. Với những lý d

Trang 1

MỤC LỤC

TRANG

1 MỞ ĐẦU 2

1.1 Lý do chọn đề tài 2

1.2 Mục đích nghiên cứu 2

1.3 Đối tượng nghiên cứu 3

1.4 Phương pháp nghiên cứu 3

2 NỘI DUNG CỦA SÁNG KIẾN KINH NGHIỆM 3

2.1 Cơ sở lý luận của sáng kiến kinh nghiệm 3

2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm 3

2.3 Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải quyết vấn đề 4

2.3.1 Kiểm tra tính nguyên tố của một số nguyên dương ……… 4

2.3.2 Phân tích một số thành tích các thừa số nguyên tố ……… ……….6

2.3.3 Một số ví dụ………7

2.4 Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, với bản thân, đồng nghiệp và nhà trường 17

3 KẾT LUẬN, KIẾN NGHỊ 17

1 Kết luận 17

2 Kiến nghị 17

Trang 2

và học.

Thực hiện Nghị quyết số 26/NQ-CP ngày 15/4/2015 của Chính phủ banhành Chương trình hành động thực hiện Nghị quyết số 36-NQ/TW ngày01/7/2014 của Bộ Chính trị Ban Chấp hành Trung ương Đảng Cộng sản ViệtNam về đẩy mạnh ứng dụng, phát triển công nghệ thông tin (CNTT) đáp ứngyêu cầu phát triển bền vững và hội nhập quốc tế; thực hiện Quyết định số 1755/QĐ-TTg ngày 22/9/2010 của Thủ tướng Chính phủ phê duyệt Đề án “Đưa ViệtNam sớm trở thành nước mạnh về công nghệ thông tin và truyền thông”; thựchiện Chỉ thị số 16/CT-TTg ngày 04/5/2017 của Thủ tướng Chính phủ về việctăng cường năng lực tiếp cận cuộc Cách mạng công nghiệp lần thứ 4, Bộ Giáodục và Đào tạo hướng dẫn cơ chế đặc thù đào tạo các ngành thuộc lĩnh vựcCNTT trình độ đại học giai đoạn 2017-2020 để đáp ứng nhu cầu của thị trườnglao động và hội nhập quốc tế

Học sinh THPT là nguồn lao động trẻ có thể sử dụng ngay sau khi tốtnghiệp do vậy việc được tiếp cận công nghệ thông tin từ trong nhà trường phổthông sẽ giúp cho học sinh có thể tự tin hơn trong công việc Việc đào tạo họcsinh có nền tảng lập trình cơ bản và có đam mê lập trình có vai trò quan trọngtrong sự phát triển sau này của các em Thông qua việc dạy đội tuyển học sinhgiỏi, dạy những lớp mũi nhọn nhiều năm để học sinh yêu thích lập trình tôi rút

ra những kinh nghiệm sau:

+ Tạo sự đam mê lập trình và đọc sách

+ Vận dụng các kiến thức đã học để giải các bài toán thực tế

+ Hình thành và phát triển tư duy logic

+ Hình thành các bước để giải quyết vấn đề nêu ra

+ Dạy học thông qua các chuyên đề độc lập hay liên hệ giữa toán học và tin học để giải quyết các bài toán

Trong quá trình dạy học sinh và đứng đội tuyển học sinh giỏi tôi thấyrằng nhiều bài toán sẽ được giả quyết nhanh nếu chúng ta biết tính chất của các

số và áp dụng hợp lý Với những lý do trên tôi chọn đề tài về “Tính nguyên tố của một số nguyên và sử dụng tính nguyên tố để giải quyết một số bài toán”

1.2 Mục đích nghiên cứu.

Đưa ra tính nguyên tố của một số nguyên, các thuật toán cơ bản liên quanđến số nguyên tố Đưa ra một số bài toán có sử dụng tính nguyên tố của một sốnguyên để giải quyết Qua các bài toán này giúp học sinh yêu thích việc tư duylogic và thấy được sự kỳ diệu của các con số

Trang 3

1.3 Đối tượng nghiên cứu.

Học sinh khối 11 và đội tuyển học sinh giỏi trường THPT Nông Cống 1

1.4 Phương pháp nghiên cứu

Phương pháp phân tích thuật toán, kiểm tra đánh giá năng lực học sinh,phát triển tư duy logic Một số tài liệu tham khảo và tìm kiếm thông tin trêninternet

2 Nội dung sáng kiến

2.1 Cơ sở lí luận của sáng kiến kinh nghiệm.

- Nghị quyết số 44/NQ-CP, ngày 09/6/2014 Ban hành chương trình hànhđộng của chính phủ thực hiện nghị quyết số 29-NQ/TW ngày 04/11/2013 Hội nghịlần thứ 8 Ban chấp hành Trung ương khóa XI về đổi mới căn bản, toàn diện giáodục và đào tạo, đáp ứng yêu cầu công nghiệp hóa trong điều kiện kinh tế thị trườngđịnh hướng xã hội chủ nghĩa và hội nhập quốc tế xác định “Đổi mới hình thức,phương pháp thi, kiểm tra và đánh giá kết quả giáo dục theo hướng đánh giá nănglực của người học; kết hợp đánh giá cả quá trình với đánh giá cuối kỳ học, cuốinăm học theo mô hình của các nước có nền giáo dục phát triển”

- Luật Giáo dục số 38/2005/QH11, Điều 28 quy định: “Phương pháp giáodục phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo cảu họcsinh; phù hợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương pháp

tự học, khả năng làm việc theo nhóm; rèn luyện kỹ năng kiến thức vào thực tiễn;tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh”

+ Ngoài việc tạo điều kiện cho học sinh chiếm lĩnh những tri thức và kỷnăng Tin học cần thiết, Tin học còn có tác dụng phát triển năng lực trí tuệ chungnhư: phân tích, tổng hợp, trừu tượng hoá, khái quát hoá…rèn luyện những đứctính, phẩm chất của người lao động mới Học sinh sẽ thấy rõ hiệu quả mạnh mẽcủa công nghệ thông tin và nhận thức cần có

2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm.

Sự quan trọng của CNTT trong xã hội hiện nay ai cũng biết nhưng đểđược sự quan tâm của các em học sinh, phụ huynh, nhà trường là cả một khókhăn

Quá trình thực hiện đề tài tại trường THPT Nông Cống 1 tôi có một sốthuận lợi và khó khăn sau:

2.2.1 Thuận lợi:

* Nhà trường:

- Ban giám hiệu nhà trường luôn đạo điều kiện tốt nhất để giáo viên và học sinh học tập

- Nhà trường đã đầu tư một phòng thực hành tin với 24 máy tính xách tay

để cho các em đam mê lập trình và đội tuyển học sinh giỏi học tập

- Được sự giúp đỡ, tạo điều kiện của tổ nhóm chuyên môn Toán – Tin

Trang 4

Nhà trường đã tạo điều kiện tối đa nhưng vì nhiều lý do nên cơ sở vật chất

để có thể học tốt môn tin học chưa đáp ứng được nhu cầu của học sinh

Khái niệm số nguyên tố (prime number): Số nguyên tố là số nguyên dương

chỉ chia hết cho 1 và chính nó Từ đó suy ra số một không phải là một số nguyên

tố (có rất nhiều em mới học lập trình nhầm số 1 là số nguyên tố) Một kết quảkhác cũng không kém quan trọng được rút ra đó là số 2 là số nguyên tố đầu tiên(nhỏ nhất) và cũng là số số nguyên tố chẵn duy nhất

2.3.1 Kiểm tra tính nguyên tố của số nguyên dương.

a Kiểm tra tính nguyên tố của một số nguyên dương

Để kiểm tra một số nguyên dương N có là số nguyên tố hay không takiểm tra xem N có tồn tại số nguyên k sao cho k là ước của N hay không? Nếutồn tại số nguyên k thì N không phải số nguyên tố ngược lại N là số nguyên tố

Ta có thể tìm số k bằng cách lấy N chia cho các số từ 2 cho đến N-1 Nếu

N không phải số nguyên tố thì N có thể phân tách N= k 1 xk 2 với 2 ≤k1 ≤k 2<

N−1k 1 ×k 1 ≤k1 ×k 2=N nên k 1 N Do đó ta chỉ cần kiểm tra k từ 2 đến √

N mà không cần kiểm tra từ 2 đến N-1

Ta có đoạn chương trình sau:

function ngto(n:longint):boolean;

var k :longint;

begin

Trang 5

if (n=2)or(n=3) then exit(true);

if (n=1) or (n mod 2=0) or (n mod 3=0) then exit(false); sqrt_n:=trunc(sqrt(n));

b Liệt kê các số nguyên tố trong đoạn [ 1,N ]

Ta có thể dùng hàm ngto(n) để kiểm tra lần lượt các số trong đoạn [ 1,N ]

Đoạn chương trình:

For i := 2 to N do

If ngto(i) then write(i);

Cách này là cách đơn giản nhưng chạy chậm nên ta cải tiến bằng cách sử dụngsàng nguyên tố Cách làm được thực hiện như sau:

Trước tiên xóa số 1 ra khỏi tập số nguyên tố Số tiếp theo là số 2 là sốnguyên tố ta xóa tất cả các số là bội của 2 Số đầu tiên sau số 2 không bị xóa là

số 3 ta lại xóa tất cả các số là bội của 3…thuật toán tiếp tục đến khi gặp sốnguyên tố lớn hơn √ N thì dừng lại Các số chưa bị xóa là các số nguyên tố

Ta có đoạn chương trình sau:

Const max=10000;

Trang 6

2.3.2 Phân tích một số thành tích các thừa số nguyên tố.

Theo định lý cơ bản của số học: Mọi số nguyên dương đều có thể biểu diễn duy nhất thành tích của các số nguyên tố.

Hệ quả: Mọi số tự nhiên N>1 đều có thể biễu diễn duy nhất dưới dạng chuẩn tắc

N= p1 k1 × p2 k2 × …× p s ks trong đó k i là số nguyên dương và p i là các số nguyên

Trang 7

Bài toán 1: Số gần nguyên tố

Chúng ta đều biết số nguyên tố là số nguyên dương mà chỉ có duy nhất 2ước phân biệt Mạnh luôn thích những cái đặc biệt và mới mẻ, và anh ra đưa ra 1định nghĩa mới “Số gần nguyên tố” – là các số nguyên dương mà có đúng 3 ướcphân biệt

Yêu cầu: Cho 1 mảng có n phần tử, hãy cho biết có bao nhiêu phần tử trong

mảng là số gần nguyên tố

Dữ liệu vào: Từ file văn bản BAI1.INP

- Dòng đầu tiên: Số tự nhiên n (1 ≤ n ≤ 106) là số phần tử của mảng

Trang 8

- Dòng tiếp theo: Gồm n số nguyên dương x[i] (1 ≤ x[i] ≤ 109).

Dữ liệu ra: Ghi ra file văn bản BAI1.OUT: Số phần tử trong mảng là số gần

Đối với bài toán này nếu chúng ta duyệt lần lượt để tìm các ước của X thì

sẽ rất chậm và không đủ thời gian theo yêu cầu Do vậy ta thấy rằng nếu X màđược phân tích thành tích các thừa số nguyên tố X = p1 k 1 × p2 k 2 ×…× p s ks thìtổng các ước là (k 1 +1) ×( k 2+ 1) ×…×(ks+1) Theo đề bài thì số gần nguyên tốchỉ có đúng 3 ước do đó X chỉ có thể phân tích thành X =p12

Vậy X là số gần nguyên tố thì X phải là một số chính phương

while (j1<=sqrt(k)) and (k mod j1<>0) do

inc(j1); if j1> sqrt(k) then kt:=true; end;

Trang 9

end.

Bài toán 2: Phân tích

Phân tích N! thành tích của các thừa số nguyên tố

for i:=2 to trunc(sqrt(n)) do

if n mod i = 0 then exit;

Trang 10

while (j<=n) do begin

Bài toán 3: SỐ ƯỚC

Cho số nguyên dương N Giai thừa của N, kí hiệu là N!, là tích của các số

tự nhiên từ 1 đến N Gọi T là số lượng ước lớn hơn 1 của N! Ví dụ với N = 4, ta

có 4! = 24 Như vậy 4! có 7 ước lớn hơn 1 là: 2, 3, 4, 6, 8, 12, 24 Yêu cầu: Cho

for i:=2 to trunc(sqrt(n)) do

if n mod i = 0 then exit;

Trang 11

while (j<=n) do begin

Bài toán 5: Không chứa chính phương

Một số nguyên gọi là không chứa chính phương nếu nó không chia hết cho bất ký số nguyên nào dạng x2 với x > 1

Yêu cầu: Cho số nguyên n (1 ≤ n ≤ 1013) Hãy tìm ước lớn nhất không chứa

chính phương của n Lưu ý là 1 và n cũng là ước của n

Dữ liệu vào: Vào từ file văn bản CP.INP gồm nhiều tests, mỗi test cho trên một

dòng chứa số nguyên n

Dữ liệu ra: Đưa ra file văn bản CP.OUT, kết quả mỗi test đưa ra trên một dòng.

Trang 12

- Để giải quyết triệt để bài toán tìm ước không chứa chính phương của N

ta phân tích N thành tích các thừa số nguyên tố, ước lớn nhất thỏa mãn yêu cầucủa bài là tích các thừa số nguyên tố

Ví dụ N=2i3j5k thì ước lớn nhất không chứa chính phương là 2.3.5

for i:=2 to trunc(sqrt(n)) do

if n mod i = 0 then exit;

Trang 13

12

Trang 14

end.

Bài toán 6: Nguyên tố tương đương

Hai số tự nhiên được gọi là Nguyên tố tương đương nếu chúng có chungcác ước số nguyên tố Ví dụ các số 75 và 15 là nguyên tố tương đương vì cùng

có các ước nguyên tố là 3 và 5 Cho trước hai số tự nhiên N, M

Yêu cầu: Hãy viết chương trình kiểm tra xem các số này có là nguyên tố

tương đương với nhau hay không

Dữ liệu vào: trong file văn bản BAI3.INP:

- gồm nhiều dòng, mỗi dòng ghi 2 số N và M cách nhau bởi dấu cách (0<=N,M<=106)

Dữ liệu ra: Ghi vào File BAI2.OUT

- gồm nhiều dòng, mỗi dòng ghi số 1 nếu N và M là 2 số nguyên tố tương đương, ngược lại ghi số 0

begin while d mod i=0 do d:=d div i;

while x mod i=0 do x:=x div i;

while y mod i=0 do y:=y div i;

end;

Trang 15

if x*y=1 then write(f2,'co') else

write(f2,'khong'); close(f1);close(f2);

end.

Bài toán 7: Bài toán cổ

Tương truyền rằng, ngày xưa có một mưu sĩ thấy dân chúng quá nghèokhổ nên ông ta đã đến thách đố đánh cờ cùng nhà vua nhằm lấy thóc trong khođem phân phát cho dân nghèo Nhà vua ra điều kiện nếu đánh thua nhà vua thìmưu sĩ sẽ bị chém đầu, ngược lại mưu sĩ sẽ được trọng thưởng bằng vật chất.Nếu đánh thắng cờ với nhà vua, mưu sĩ chỉ xin một điều đó là trong mỗi ô cờgồm 8x8 ô thì lần lượt bỏ vào ô thứ 1: 1 hạt thóc, ô thứ 2: 1x2 hạt thóc, ô thứ 3:1x2x3 hạt thóc,… cho đến ô cuối cùng Nhà vua nghe qua rất khoái chí và đồng

ý ngay Sau lần đấu cờ đó nhà vua đã mất rất nhiều kho lương thực cho dân nghèo

Do bản tính hiếu thắng của nhà vua, ông vẫn tiếp tục thách đấu với nhữngtay cao thủ cờ khác trong thiên hạ nhưng bây giờ rút kinh nghiệm ông chỉ xuấttrong kho ra bây giờ không phải là thóc nữa mà là vàng Nguyên tắc để nhậnđược vàng sau khi đánh thắng nhà vua như sau:

Mỗi ô trong bàn cờ có một số Con số này được gán vào như sau:

Đối thủ chỉ được chọn mỗi lần một ô để nhận vàng Không được phép chọn các

ô bé hơn 6

Bàn cờ dùng thi đấu là bàn cờ 8x8, nhưng bàn cờ để chọn vàng là NxN (1 ≤ N

≤10 000), các ô được đánh số liên tục từ 1đến N

Yêu cầu: Em hãy viết chương trình để giúp đấu thủ nọ nhận được vàng

theo các yêu cầu nói trên

Dữ liệu vào: có nhiều dòng liên tiếp nhau, trên mỗi dòng chứa một số

nguyên không âm, đó là thứ tự ô mà đấu thủ đó chọn

Dữ liệu ra: có số dòng bằng số dòng tương ứng với dữ liệu vào Trên mỗi

dòng có nội dung: chữ số đầu tiên là ô số mà đấu thủ nọ chọn, tiếp theo là mộtmũi tên “->” và cuối cùng là chữ số khác không cuối cùng của ô số đó (theo cácnguyên tắc trên)

Ví dụ:

Trang 16

Ý tưởng chính của Việt Hưng nằm ở công thức: 2 x 5 = 10 (hai lần năm làmười) Thật vậy, ta biết:

Để tính chữ số tận cùng của 2m với m = d2 – d5 > 0 ta để ý đến tính tuần hoàncủa nó, cụ thể là ta chỉ cần tính chữ số tận cùng của 2(m mod 4) với các trườnghợp:

m mod 4 = 0, 1, 2 và 3

Theo thí dụ trên ta có m mod 4 = 8 mod 4 = 0, do đó chữ số cuối của 2m

là 6 chứ không phải là 1 vì m > 0 Ta tính được (những cặp 2 và 5 được gạchdưới)

Trang 17

Để tránh việc tràn số khi sử dụng các biến dung lượng nhỏ như kiểu word thay

vì dùng longint chúng ta có thể tăng thêm một phép toán mod nữa Chẳng hạn,khi tích luỹ kết quả, thay vì viết

k := (k*c) mod 10; ta nên viết k := (k*(c mod 10)) mod 10;

Trang 18

Việc áp dụng đề tài này vào dạy đội tuyển học sinh giỏi giúp các em pháttriển tư duy, có sự liên hệ logic giữa môn toán học và tin học.Cụ thể các năm tôihướng dẫn đội tuyển thi học sinh giỏi cấp tỉnh đều đạt giải 100%, cụ thể: Năm2012-2013: Đạt 3 giải (1 ba, 2 khuyến khích)

Năm 2013-2014: Đạt 2 giải (1 nhì, 1 khuyến khích)

Năm 2015-2016: Đạt 2 giải (1 nhì, 1 ba)

em có đam mê CNTT có định hướng tốt trong tương lai

2 Kiến nghị

Để tạo được nguồn lao động trẻ có chất lượng cao trong ngành công nghệthông tin thì ngay trong khi học THPT việc đầu tư cơ sở vật chất và áp dụngcông nghệ vào giảng dạy là rất quan trọng Do vậy tôi kiến nghị các cấp, cácngành có cơ chế tạo điều kiện xây dựng cơ sở vật chất và thời lượng chươngtrình để phát triển môn lập trình trong trường THPT

Trên đây là một số kinh nghiệm của tôi khi dạy chương trình tin học 11 vàbồi dưỡng học sinh giỏi Đề tài của tôi vẫn đang còn nhiều vấn đề cần hoànthiện rất mong sự góp ý của đồng nghiệp và các thầy cô giáo có kinh nghiệm để

đề tài thực sự có hiệu quả trong giảng dạy

Trang 19

Xin chân thành cảm ơn.

Nông Cống, Ngày 05/05/2019

mình viết, không sao chép nội dung ngườikhác

NGƯỜI THỰC HIỆN ĐỀ TÀI

Vũ Anh Minh

Trang 20

18

Trang 21

TÀI LIỆU THAM KHẢO

1 Sách giáo khoa tin học 11 - Hồ Sĩ Đàm, NXB Giáo dục

2 Cơ sở lý thuyết và kỹ thuật giải toán olympic – Bùi Trọng Kiên, NXB

Đại học Quốc gia Hà Nội

3 Sáng tạo trong thuật toán và lập trình (Tập 1) – Nguyễn Xuân Huy,

NXB Giáo dục

4 Tài liệu tập huấn bồi dưỡng học sinh giỏi Sở giáo dục và đào tạo Thanh Hóa

5 Tài liệu chuyên quyển 1 – Hồ Sĩ Đàm (chủ biên), Đỗ Đức Đông, Lê

Minh Hoàng, Nguyễn Thanh Hùng – NXB Giáo dục Việt Nam

6 Một số tài liệu trên mạng Internet

Ngày đăng: 19/07/2020, 15:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w