- 17 Tháng mười một 2017
- 1,525
- 3,788
- 529
- Quảng Nam
- Trung Học Phổ Thông Chuyên Nguyễn Bỉnh Khiêm
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
1. Thuật toán kiểm tra số nguyên tố:
Thuật toán dựa trên ý tưởng: nếu n>1 không chia hết cho số nguyên nào trong tất cả các số từ 2 đến [tex]\sqrt{n}[/tex] thì n là số nguyên tố. Do đó ta sẽ kiểm tra tất cả các số nguyên từ 2 đến có round(sqrt(n)), nếu n không chia hết cho số nào trong đó thì n là số nguyên tố.
Nếu thấy biểu thức round(sqrt(n)) khó viết thì ta có thể kiểm tra từ 2 đến n div 2.
Hàm kiểm tra nguyên tố nhận vào một số nguyên n và trả lại kết quả là true (đúng) nếu là nguyên tố và false (sai) nếu n không là số nguyên tố
2. Thuật toán tính tổng các chữ số của một số nguyên:
Ý tưởng là ta chia số đó cho 10 lấy dư (mod) thì được chữ số hàng đơn vị, và lấy số đó div 10 thì sẽ được phần còn lại. Do đó sẽ chia liên tục cho đến khi không chia được nữa (số đó bằng 0), mỗi lần chia thì được một chữ số và ta cộng dồn chữ số đó vào tổng.
3. Thuật toán tính Ước chung lớn nhất:
Ý tưởng của thuật toán là UCLN của 2 số a, b cũng là UCLN của 2 số b và a mod b, vậy ta sẽ đổi a là b, b là a mod b cho đến khi b bằng 0. Khi đó UCLN là a
Hôm nay 3 bài thôi :33 Mai mình sẽ đăng thêm 3 bài nữa :33 Mọi người tag bạn bè vào ủng hộ mình với :33
Nếu bạn không thi học sinh giỏi thì lên lớp 9, 10, 11, 12 cũng học thôi :33 Nên xem từ bây giờ và tìm hiểu hongg phí đâu :33
Chúc mọi người buổi tối tốt lành <3
@phamkimcu0ng @Bùi Thị Diệu Linh @Mart Hugon @Hồ Nhi @Asuna Yuuki @The Joker
Thuật toán dựa trên ý tưởng: nếu n>1 không chia hết cho số nguyên nào trong tất cả các số từ 2 đến [tex]\sqrt{n}[/tex] thì n là số nguyên tố. Do đó ta sẽ kiểm tra tất cả các số nguyên từ 2 đến có round(sqrt(n)), nếu n không chia hết cho số nào trong đó thì n là số nguyên tố.
Nếu thấy biểu thức round(sqrt(n)) khó viết thì ta có thể kiểm tra từ 2 đến n div 2.
Hàm kiểm tra nguyên tố nhận vào một số nguyên n và trả lại kết quả là true (đúng) nếu là nguyên tố và false (sai) nếu n không là số nguyên tố
Function ngto(n:integer):boolean;
Var i:integer;
Begin
Var i:integer;
Begin
ngto:=false;
If n<2 then exit;
For i:=2 to trunc(sqrt(n)) do
If n mod i = 0 then exit;
ngto:=true;
End;If n<2 then exit;
For i:=2 to trunc(sqrt(n)) do
If n mod i = 0 then exit;
ngto:=true;
Ý tưởng là ta chia số đó cho 10 lấy dư (mod) thì được chữ số hàng đơn vị, và lấy số đó div 10 thì sẽ được phần còn lại. Do đó sẽ chia liên tục cho đến khi không chia được nữa (số đó bằng 0), mỗi lần chia thì được một chữ số và ta cộng dồn chữ số đó vào tổng.
Function tongcs(n:integer):integer;
Var s: integer;
Begin
Var s: integer;
Begin
s:=0;
While n <> 0 do begin
tongcs:=s;
End;While n <> 0 do begin
s:=s+n mod 10;
n:=n div 10;
End;n:=n div 10;
tongcs:=s;
Ý tưởng của thuật toán là UCLN của 2 số a, b cũng là UCLN của 2 số b và a mod b, vậy ta sẽ đổi a là b, b là a mod b cho đến khi b bằng 0. Khi đó UCLN là a
Function UCLN(a,n:integer):integer;
Var r:integer;
Begin
Var r:integer;
Begin
While b<>0 do begin
UCLN:=a;
End;r:=a mod b;
a:=b;
b:=r;
End;a:=b;
b:=r;
UCLN:=a;
Nếu bạn không thi học sinh giỏi thì lên lớp 9, 10, 11, 12 cũng học thôi :33 Nên xem từ bây giờ và tìm hiểu hongg phí đâu :33
Chúc mọi người buổi tối tốt lành <3
@phamkimcu0ng @Bùi Thị Diệu Linh @Mart Hugon @Hồ Nhi @Asuna Yuuki @The Joker