bài tập dạng xâu (khó)

nguyenhoanghai9d@gmail.com

Học sinh
Thành viên
10 Tháng mười hai 2015
13
3
21
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Hàm xoay ngược R(x) của một số nguyên x được xác định bằng cách viết các chữ số của x theo thứ tự ngược lại. Ví dụ R(23)=32; R(101)=101;
Yêu cầu: Cho một số số nguyên dương. Với mỗi số nguyên dương đã cho hãy xác định có tồn tại một số x nào đó để số này có thể biểu diễn được dưới dạng x+R(x) hay không?
Dữ liệu: Vào từ file BAI1.INP file chứa không quá 10000 số nguyên mỗi số trên một dòng mỗi dòng không quá 10000 chữ số.
Kết quả: Đưa ta tệp BAI1.OUT với mỗi số nguyên từ input đưa ra thông báo YES khi tồn tại x hoặc NO nếu ngược lại.
Ví dụ:
1 | NO
2 | YES
11 | YES
14003 | YES
76751345649789456166547987979741366664879441 | NO
 

Vuio

Học sinh chăm học
Thành viên
27 Tháng hai 2017
12
9
56
23
Free pascal dùng mảng 2 000 000 000 (2 tỉ) byte vẫn cho nhé.
Dùng ansistring có vẻ khó sử dụng hơn mảng đối với những bạn chưa quen
 

Nguyễn Thánh Tiền

Mr Favoirite 2012
Thành viên
2 Tháng mười 2010
1,931
782
324
Hà Nội
cO VUA
với lại bài này số lớn quá, nên mình đang nghĩ xem tính chất của những số có thể có x là gì,
nếu dùng quy hoạch động, thì chắc chắn vượt thời gian
Anh nghĩ thế này không biết đúng sai

1 chữ số chia hết cho 2 2 chữ số phải chia hết cho 11 , 3 chữ số phải chia hết 101, 4 chữ số chia HẾT 1001
 
  • Like
Reactions: Vuio

huutoan00

Học sinh tiến bộ
Thành viên
19 Tháng hai 2012
181
67
181
24
Your UnderWorld
www.facebook.com
Anh nghĩ thế này không biết đúng sai

1 chữ số chia hết cho 2 2 chữ số phải chia hết cho 11 , 3 chữ số phải chia hết 101, 4 chữ số chia HẾT 1001
em nghĩ ở giữa không đơn thuần chỉ là 0, có thể nó sẽ chia hết cho những số đối xứng
 

huutoan00

Học sinh tiến bộ
Thành viên
19 Tháng hai 2012
181
67
181
24
Your UnderWorld
www.facebook.com
nêu như số được tạo từ 2 số đối xứng, thì các vị trí đối xứng nhau sẽ có cùng đơn vị, nếu có khác thì cũng chỉ là do cộng có nhớ(max là 1) thôi
 

Vuio

Học sinh chăm học
Thành viên
27 Tháng hai 2017
12
9
56
23
@1 chữ số
a=a
=> Số đó phải chia hết cho 2

@2 chữ số
ab+ba=10a+b+10b+a=11a+11b=11(a+b)
=> Số đó phải chia hết cho 11

@3 chữ số
abc+cba=100a+10b+c+100c+10b+a=101a+20b+101c=101(a+c)+10(b+b)
=> Số đó phải bằng tổng số chia hết cho 101 và 10

@4 chữ số
abcd+dcba=1000a+100b+10c+d+1000d+100c+10b+a=1001a+110b+110c+1001d=1001(a+d)+110(b+c)
=> Số đó phải bằng tổng số chia hết cho 1001 và 110

Theo mình thì cứ làm case of thôi, kiểu như tìm số chữ số rồi xử lí riêng.
Case <số chữ số> of
1: If x mod 2=0 then true;
2: ...
3: ...
4: ...
...
end;
 

nguyenhoanghai9d@gmail.com

Học sinh
Thành viên
10 Tháng mười hai 2015
13
3
21
@1 chữ số
a=a
=> Số đó phải chia hết cho 2

@2 chữ số
ab+ba=10a+b+10b+a=11a+11b=11(a+b)
=> Số đó phải chia hết cho 11

@3 chữ số
abc+cba=100a+10b+c+100c+10b+a=101a+20b+101c=101(a+c)+10(b+b)
=> Số đó phải bằng tổng số chia hết cho 101 và 10

@4 chữ số
abcd+dcba=1000a+100b+10c+d+1000d+100c+10b+a=1001a+110b+110c+1001d=1001(a+d)+110(b+c)
=> Số đó phải bằng tổng số chia hết cho 1001 và 110

Theo mình thì cứ làm case of thôi, kiểu như tìm số chữ số rồi xử lí riêng.
Case <số chữ số> of
1: If x mod 2=0 then true;
2: ...
3: ...
4: ...
...
end;
làm như bạn thì 10000 chữ số tính đến năm sau bạn à :v
 
  • Like
Reactions: huutoan00

huutoan00

Học sinh tiến bộ
Thành viên
19 Tháng hai 2012
181
67
181
24
Your UnderWorld
www.facebook.com
nêu như số được tạo từ 2 số đối xứng, thì các vị trí đối xứng nhau sẽ có cùng đơn vị, nếu có khác thì cũng chỉ là do cộng có nhớ(max là 1) thôi
theo mình thì tính hiệu của các vị trí đối xứng nhau (xét trừ TH 1xxxxxxxxx, vì 1 đó có thể là do cộng có nhớ)
nếu các hiệu đó luôn trong khoảng -1..1 thì được?
 

Nguyễn Thánh Tiền

Mr Favoirite 2012
Thành viên
2 Tháng mười 2010
1,931
782
324
Hà Nội
cO VUA
@3 chữ số
abc+cba=100a+10b+c+100c+10b+a=101a+20b+101c=101(a+c)+10(b+b)
=> Số đó phải bằng tổng số chia hết cho 101 và 10

Anh không hiểu
theo mình thì tính hiệu của các vị trí đối xứng nhau (xét trừ TH 1xxxxxxxxx, vì 1 đó có thể là do cộng có nhớ)
nếu các hiệu đó luôn trong khoảng -1..1 thì được?
203 chắc đc không chú
 
Top Bottom