Ky thuat de quy va quay lui

4 6 0
Ky thuat de quy va quay lui

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

Thông tin tài liệu

Cần điền các số tự nhiên từ 1 đến n vào các vòng tròn nhỏ sao cho tổng của 2 số trên 2 vòng tròn nhỏ liên tiếp là số nguyên tố. Map[r]

(1)

Kỹ thuật đệ quy quay lui

1 Dùng liệu thay cho xử lý: mảng bool, mảng bit đánh dấu ứng cử viên dùng

2 Dùng hàng rào giới hạn vùng xử lý: đặc trưng mã tuần dùng ma trận (n+2)*(n+2) để dễ xử lý

3 Dùng câu lệnh IF để dễ dàng giới hạn dừng đệ quy: đặc biệt có ích xử lý map với liệu mảng chiều (IF i>10 -> Tăng i, đưa j exit) Đặt câu lệnh trước trình đệ quy, với ý nghĩa "điểm mốc" đệ quy

4 Đặt cờ báo tìm kết quả, chấm dựt đệ quy quay lui để tránh lãng phí thời gian "trả giá trị" chương trình quay lui

Cấu trúc thủ tục đệ quy: begin

IF giới hạn OR tìm thấy THEN exit; IF hết dòng THEN

xuống dòng; khởi tạo cột =1; exit;

IF chưa sử dụng AND thỏa điều kiện

Gán vào;

Đánh dấu sử dụng; Đệ quy bước kế tiếp; Gỡ bỏ giá trị gán; end;

Các tập: Số hạng thứ k:

Dãy số nguyên n<=30k ptử số nguyên dương k<=n Chỉ số hạng lớn thứ k dãy (có k số ko bé n-k số ko lớn nó)

NumK.inp NumK.out

4 10

(2)

2 Phân số tối giản:

Xét tập cá phân số tối giản có giá trị nằm đoạn [0,1] có mẫu số <=N Các phân số đc xếp theo thứ tự tăng dần Với N cho trước, tập có phân số khác thỏa điều kiện tập hữu hạn Các phân số tập đc đánh số thứ tự từ 1, phân số tương ứng số thứ tự Ví dụ với N=6 tập có 11 phân số tối giản theo thứ tự:

0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1

Theo dãy trên, phân số có thứ tự 1/4, phân số 3/5 có thứ tự

Yêu cầu: Cho trước N, xác định số thứ tự phân số p/q ngược lại, cho số thứ tự phân số xác định phân số

Dữ liệu vào từ Fraction.inp _ N<500

Các dòng kế:

Ghi số 0: kết thúc file

Ghi số 1: số nguyên ko âm p, q thể yêu cầu tìm STT phân số p/q Ghi số 2: số nguyên dương K thể u cầu tìm phân số có STT K

Kết xuất Fraction.out gồm nhiều dòng, dòng ghi câu trả lời cho dòng yêu cầu input

Fraction.inp Fraction.out

5

1

0

3 Tam giác Sierpinski

4 Lát gạch Chia tam giác:

Trên lưới ô vuông độ dài cạnh 1, người ta thiết lập đa giác lồi D gồm n đỉnh (n<=20), đỉnh đc xác định cặp tọa độ (x,y) (|x|, |y|<=100)

(3)

lưới nằm D có diện tích =1/2

Yêu cầu: lập trình chia D thành tam giác sở Dữ liệu vào từ Triangle.inp:

_ n<=20

_ Tọa độ đỉnh đa giác Kết xuất Triangle.out:

_ M: số tam giác chia (0: ko chia đc)

M dòng kế, dòng số tọa độ đỉnh tam giác Triangle.inp Triangle.out

4

0 0 3 3 2 2 1 1 1 0 1 0 3 2 1 2 1

6 Chuỗi nhị phân:

Một chuỗi gồm toàn '0' '1' chuỗi nhị phân Một đoạn liện tiếp k ký tự chuỗi chuỗi độ dài k

Yêu cầu: Cho trước k<16 Xác định chuỗi nhị phân dài cho chuỗi k xuất lần

Dữ liệu vào từ Binstr.inp gồm dòng chứa số k

Kết file Binstr.out gồm dòng: dòng đầu độ dài chuỗi, dòng sau chuỗi nhị phân tìm

Binstr.inp Binstr.out

3 10

0001110100

(4)

Xét dãy số S gồm N ký số Các sổ nguyên tạo thành dãy số từ đến K cho trước Một đoạn ký số liên tiếp S dãy Hãy xây dựng S cho ko có dãy giống đứng kề

Dữ liệu vào từ StringK.inp gồm dòng số nguyên dương N<=30 K<=5 Kết file StringK.out gồm dòng N ký tự ký số dãy tìm Nếu ko tìm đc in -1

StringK.inp StringK.out

6 121312

8 Vòng số nguyên tố

Một vòng tròn n vòng tròn nhỏ (n chẵn) Các vòng tròn nhỏ đc đánh số từ đến n theo chiều kim đồng hồ Cần điền số tự nhiên từ đến n vào vòng tròn nhỏ cho tổng số vòng tròn nhỏ liên tiếp số ngun tố Vịng trịn nhỏ số ln ghi số

Dữ liệu vào từ file Ring.inp chứa số n chẵn (2<n<20) Kết file Ring.out:

_ K: số cách điền số tìm đc

K dòng dòng ghi cách điền Ring.inp Ring.out

6

1 6 Ring.inp Ring.out

8

1 8 7 8 Map

Ngày đăng: 11/04/2021, 11:27

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan