Thứ Bảy, 29 tháng 12, 2018

Pascal 18


Đâ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

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