Cryptography

Assignment 1

Bài tập 1.1

Nhập vào 1 góc bất kỳ cho biết góc đó thuộc phần tư thứ mấy

InputOutput
421
982
1973
2934
3691

Bài tập 1.2

Nhập vào giờ phút giây, in ra kết quả cộng thêm 1 giây

hms
348
+1
349
hms
3459
+1
350
hms
35959
+1
400
hms
235959
+1
000

Mở rộng, nhập vào giờ phút giây, in ra kết quả cộng thêm k (k ≥ 1) giây

Bài tập 1.3

Qui ước

Chủ nhậtThư haiThứ baThứ tưThư nămThứ sáuThứ bảy
1234567

Nhập vào cho biết hôm nay là thứ mấy, nhập vào số k. In ra sau k ngày sẽ là thứ mấy

InputOutput
Cho biết hôm nay là thứ mấyNhập kSau k ngày là thứ
294
261

Bài 1.4: Chia mận

Cô giáo đi du lịch ở Sa Pa mang về túi mận làm quà cho cả lớp. Túi mận có k quả, lớp có n học sinh. Mận được chia đều để em nào cũng nhận được một số lượng quả như nhau. Nếu còn thừa, những quả còn lại sẽ được dành cho các em nữ.

Viết chương trình: nhập n và k từ bàn phím, in ra màn hình số quả mận mỗi học sinh nhận được và số quả dành riêng cho các em nữ

Ví dụ
Input Output
Số học sinh: n = 31
Số mận: k = 123
Mỗi học sinh được chia 3 quả mận.
Số mận dành riêng cho các em nữ là 30

Bài 1.5: Tính số bàn học

Trường mới đẹp và rộng hơn trường cũ, số phòng học cũng nhiều hơn so với trước. Nhà trường dự định tuyển thêm học sinh cho ba lớp mới với số lượng học sinh mỗi lớp tương ứng là a, b và c. Cần mua bàn cho các lớp mới này. Mỗi bàn học có không quá hai chỗ ngồi cho học sinh. Xác định số lượng bàn tối thiểu cần mua. Viết chương trình giải bài toán trên. Kết quả in ra màn hình.

Input Output
a = 35
b = 42
c = 39
Số bàn tối thiểu cần mua: 59

Bài tập 1.6: Tính số trang

Nhập vào số dòng rows, nhập kích thước dòng trên một trang size, tính số trang pages

Ví dụ
Input Output
Nhập số dòng: rows = 30
Nhập số dòng trên trang: size = 10
Số trang là: pages = 3
Nhập số dòng: rows = 32
Nhập số dòng trên trang: size = 10
Số trang là: pages = 4

Bài tập 1.7: Tính số lượng padding

Một chuỗi có chiều là dài n, người ta cần chia chuỗi thành từng block có kích thước k, tính chiều dài cần padding để thêm vào cho đủ chiều dài 1 block

Ví dụ
Input Output
n k padding
20 15 10
15 20 5

Bài tập 1.8: Tăng thêm 1 giây

Nhập vào giờ phút giây, in ra kết quả cộng thêm 1 giây

hms
348
+1
349
hms
3459
+1
350
hms
35959
+1
400
hms
235959
+1
000

Mở rộng, nhập vào giờ phút giây, in ra kết quả cộng thêm k (k ≥ 1) giây

Bài tập 1.9: Tính số ngày trong tháng

Qui ước

Chủ nhậtThư haiThứ baThứ tưThư nămThứ sáuThứ bảy
1234567

Nhập vào cho biết hôm nay là thứ mấy, nhập vào số k. In ra sau k ngày sẽ là thứ mấy

InputOutput
Cho biết hôm nay là thứ mấyNhập kSau k ngày là thứ
294
261

Bài tập 1.10: Làm tròn 0.5

Nhập vào số thực bất kỳ, in ra kết quả làm tròn theo qui tắc

Nửa KhoảngLàm tròn
[0, 0.5)0
[0.5, 1)1
Ví dụ
InputOutput
7.37
9.610

Bài tập 1.11: Làm tròn 0.25

Nhập vào số thực bất kỳ, in ra kết quả làm tròn theo qui tắc sau

Nửa KhoảngLàm tròn
[0, 0.25)0
[0.25, 0.75)0.5
[0.75, 1)1
Ví dụ
InputOutput
7.237
9.69.5
8.789

Bài tập 1.12: Số nút

Nhập vào số có 3 chữ số, tính số nút

Ví dụ
InputOutput
1236
8794

Bài tập 1.13: Dịch k ký tự

Cho bảng các ký tự sau

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Nhập vào một ký tự bất kỳ và nhập k, in ra ký tự đó sau khi dịch đi k ký tự

InputOutput
Ký tựk
'A' 3 'D'
'X' 5 'B'

Bài tập 1.13: Hoán vị 2 số

Viết hàm hoán vị 2 số

Nhập vào 2 số bất kỳ, hoán vị 2 số đó

InputOutput
abab
3 7 7 3

Bài tập 1.14: Quí trong năm

Nhập vào 1 tháng bất kỳ trong năm, in ra tháng đó thuộc quí mấy

InputOutput
3 1
5 2