Professional Documents
Culture Documents
Câu 2: Tiếp tục câu 1, vấn đề sau được dùng trong Bitcoin.
Đầu vào n, đầu ra tất cả các mảng n số nguyên dương [c1,c2,...,cn] sắp xếp từ nhỏ đến
lớn (c1 <=c2<= …<=cn) thỏa mãn 2 điều kiện sau:
(i) SUM(ci,i=1..n) = SUM(2^i,i=1..n) (=2^(n+1)-2)
(ii) SUM(ci,i=1..h) >= SUM(2^i,i=1..h) (=2^(h+1)-2), với mọi h từ 1 đến n-1
Đầu ra sẽ có
[[4, 5, 5], [4, 4, 6], [3, 5, 6], [2, 6, 6], [3, 4, 7], [2, 5, 7], [3, 3, 8], [2, 4, 8]]
Ghi chú: Bạn nào thực thi được n=30 trước khi thi, gửi email cho thầy sớm nhất sẽ được
BONUS + 1 điểm; n=2022 sẽ được BONUS + 5 điểm.
Số học
Câu 3: Vẽ đồ thị số số nguyên tố
Vấn đề này liên quan đến kết quả thú vị sau trong số học về số nguyên tố
Câu 5: Cho đến nay có 51 số nguyên tố Mersenne, dạng 2^p-1 (p: nguyên tố), được tìm
thấy (nguồn: https://www.mersenne.org/). Các số nguyên tố Mersenne đầu tiên là
3, 7, 31, 127 (tương ứng với P = 2, 3, 5, 7). Hãy viết chương trình SageMath để liệt kê
được càng nhiều số càng tốt. (Cố gắng được 40 số đầu tiên nhé!)
Câu 6: Thực thi việc giải phương trình trên vành Zn, ví dụ dưới đây cho Z13. Phương
trình đồng dư x^15+1=0 có các nghiệm đơn x=4, 10, và 12.
Câu 7: Xét dãy các số tự nhiên định nghĩa như sau: a1 = 0, a2 = 1, và an+2 là số viết
ghép các chữ số của an+1 sau đó là an. Ví dụ, a3 = 10, a4 = 101, và a5 = 10110. Xác
định n sao cho an chia hết cho 11, như sau:
(a) Tìm số n nhỏ nhất sao cho an chia hết cho 11.
(b) Hãy tiếp tục tìm 5 số n tiếp theo sao cho an chia hết cho 11. Bạn có đưa ra dự đoán
gì về điều kiện cho n để an chia hết cho 11?
Câu 8: Dùng SageMath, giải phương trình 102^70 +1 = a^37 (mod 113), với 0 <= a <
113.
Câu 9: Bài toán logarit rời rạc liên quan đến Mã hóa công khai Diffie-Hellman
Vẽ đồ thị hàm log thực
Bài toán logarit rời rạc: Nhóm nhân G=(Zp)* (p: số nguyên tố). Cho b là lũy thừa của a
trong G, tức là b=a^n (mod p) với n nào đó.Khi đó n giống như là “log” cơ số a của b (lấy
mod p). Khi p là một số nguyên tố lớn thì việc tìm n là khá khó.
Hàm hàm log trên trường hữu hạn, khó nhìn thấy quy luật: Dưới đây là hàm log mod 53
Viêt
Viết chương trình SageMath giải bài toán logarit rời rạc: Đầu vào cho a,b,p, tìm n. Thử
chương trình bạn viết với:
p=93450983094850938450983409611
a=45416776270485369791375944998
b=85771409470770521212346739540
III. Câu hỏi liên quan đến bài tập nhóm (20%)
Về QR code hoặc Ứng dụng của cơ sở Groebner