01/10/2018, 16:08

Cần hướng thực hiện bài toán số kì diệu?

Tìm số kì diệu nhỏ hơn số N nguyên dương cho trước. Ta tạm định nghĩ số kì diệu là số bằng hiệu của số lớn nhất (tạo ra bởi các chữ số của nó) với số nhỏ nhất (tạo ra bởi các chữ số của nó) . VD 495 = 954 - 459. Ai chỉ cho em hướng được ko ạ.

Đinh Quang Minh viết 18:23 ngày 01/10/2018

tách số của bạn ra thành mảng rồi sort tăng tạo thành số lớn nhất. sort giảm tạo thành số nhỏ nhất và trừ 2 đứa nó.

rogp10 viết 18:10 ngày 01/10/2018

Nó phải chia hết cho 9 trước.

Giờ chia ra 2 vd:
n có 3 chữ số thì nếu n thỏa t/c thì n sẽ có dạng (100-1)a - (100-1)c.
n có 4 chữ số thì n có dạng 999(a - c) + 99(b - d). Cứ thế mà triển

HK boy viết 18:15 ngày 01/10/2018

Các số này gọi là Kaprekar constants. Số lượng của chúng khá ít, và tuỳ vào limit của N, ta có thể giải quyết bài này bằng mảng hằng.

List Kaprekar constants: Link. Có vẻ như có quy luật.

P/s: Bài này chạy trâu chắc cháy máy.

Bài liên quan
0