Đây là những bài tập không bắt buộc các em phải làm (vì dễ bị ...đau ..... đầu). Nhưng khuyến khích.......làm nếu đã làm được các bài Pascal trước đó
Chú ý: Không kiếm lời giải trên Google nha
Chú ý: Không kiếm lời giải trên Google nha
Bài 1:
Lớp của Bờm
tuy không phải là lớp chuyên nhưng phong trào học Toán – Tin rất sôi động. Thầy
giáo của Bờm rất tâm huyết, luôn tìm các bài toán hay, mới, lạ, đặc biệt là bài
toán quy luật để dạy trò. Một hôm, thầy giáo đến lớp thật sớm trước tiết
toán, viết lên bảng một dãy có quy luật sau:
42 à 1, 1337 à 0, 669 à 3, 1882 à 4, 688 à 5, 12345 à 1, 123 à 0, 456 à 2, 789 à 3. Và thầy đố cả lớp rằng: 45678 à ?
Bằng một
cái đầu rất nhạy bén Toán Tin, nhất là những bài toán Tin logic, Bờm đã kiếm
được lời giải trên … Google ngay khi về đến nhà. Chật vật một hồi, cậu đã tìm
ra quy luật của bài toán: chuyển số “lỗ hổng” trong các chữ số của số đã cho và
biểu diễn chúng (không có chữ số 0 ở đầu). Chữ số 1, 2, 3, 5 và 7 không có lỗ
hổng nào; các chữ số 0, 4, 6, 9 có một “lỗ hổng” và đặc biệt chữ số 8 có đến 2
lỗ hổng. Hôm sau Bờm rất tự tin mở rộng bài toán bằng cách thêm vào một vài số
nữa đến đố bạn các lớp bên cạnh. Bạn đọc hãy giúp các bạn ấy giải bài này để
Bờm không được dịp “kiêu” nhé.
Dữ liệu vào : -gồm một số nguyên duy nhất n (1 <= n
<=1000000)
Dữ liệu ra: In ra màn hình một số nguyên duy nhất là số lỗ
hổng của số đã cho.
Ví dụ:
Input
|
Output
|
42
|
1
|
669
|
3
|
456
|
2
|
45678
|
4
|
Bài 2:
B Chữ số thứ N
Khi viết các số tự
nhiên tăng dần từ 1, 2, 3,… liên tiếp nhau, ta nhận được một dãy các chữ số
thập phân vô hạn, ví dụ: 1234567891011121314151617181920...
Yêu cầu: Hãy tìm chữ số
thứ N của dãy số vô hạn trên.
Dữ liệu vào: gồm một số
dòng, mỗi dòng ghi một số nguyên dương N (N<109).
Kết quả ra: với mỗi số N, ghi trên dòng tương ứng chữ số
thứ N của dãy.
Ví
dụ
Input
|
Output
|
5
10
54
|
5
1
3
|
B Bài 3: Dãy con tổng bằng 0
Cho dãy số nguyên a=(a1, a2,
.... , an),1 ≤ n ≤ 10000,-10000 ≤ ai ≤ 10000
Hãy tìm 1 dãy đoạn dài nhất gồm các phần tử
liên tiếp trong dãy a có tổng bằng 0.
Input
·
Dòng 1 chứa số n
·
Dòng 2 chứa n số a1, a2, ... ,
an theo đúng thứ tự cách nhau ít nhất 1 dấu cách
Output: 2 số là số thứ tự của phần tử đầu tiên và phần tử cuối cùng của
dãy liên tiếp có tổng bằng 0. Nếu có nhiều đoạn, xuất đoạn đầu tiên tìm được.
Ví
dụ
Input
|
Output
|
9
2 7 5 -3 -2 4 -9 -2 -1
|
2 8
|
Bài 4
Số đối xứng là số có thể viết từ trái sang phải hay
viết từ phải sang trái các chữ số của nó ta vẫn được chính nó, ví dụ các số
363, 1221, 474 là số đối xứng. Có một số x ta lấy các chữ số từ phải qua trái của
nó viết lại theo thứ tự từ trái qua phải ta thu được một số mới k, số k gọi là
số đảo của số x. Ví dụ x=123 thì k=321; x=130 thì k=031 (giá trị thực của k=31
vì số 0 đầu không có nghĩa).
Cho một số
nguyên dương n, qua phép biến đổi sau đây ta luôn thu được một số đối xứng: Lấy số n cộng
với số đảo của nó thu được tổng là n1, nếu n1 chưa là số
đối xứng thì tiếp tục lấy n1 cộng với số đảo của n1 thu
được tổng n2 và tiếp tục làm như vậy đến khi nhận được số đối xứng.
Input :số nguyên dương n ( 10< N ≤ 65000)
Output: in ra số đối xứng
thu được qua phép biến đổi trên và số lần biến đổi để thu được số đối xứng.
Ví dụ:
input
|
output
|
Giải thích
|
157
|
8888
3
|
Chú ý 2: Tất cả các bài trên đều có thể sử dụng các kiến thức đã học để giải
0 nhận xét:
Đăng nhận xét