Dùng excel giải bài toán tìm ẩn?

  • Thread starter Thread starter tamnt07
  • Ngày gửi Ngày gửi
Liên hệ QC

tamnt07

Thành viên thường trực
Tham gia
29/3/07
Bài viết
219
Được thích
42
Mình có bài toán này, tìm một số (không giới hạn số các chữ số) mà hiệu của số đó với số mà các chữ số được đánh ngược lại là 2.601.
ví dụ số đó 12345 thì số được đánh ngược lại là 54321, hiệu của hai số này là 41.976. bây giờ phải tìm số nào đó không phải là số 12345 để ra được hiệu là 2.601.
Bài này khó thật đấy, có thể có nhiều đáp án, thử tìm cho mình một số thôi cũng tốt rồi!
 
Mình có giải thuật này, chưa chắc lắm & không thấy đáp án

Mạnh dạn đưa lên để bạn tham khảo

Mã:
Option Explicit
[B]Sub TimSoBietHieu2601()[/B]
 Dim Jj As Long, Num As Long:       Dim Timer_ As Double
 Dim DVi As Byte, Chuc As Byte, Tram As Byte, Ngan As Byte, Van As Byte, tNgan As Byte
 Columns("B:c").ClearContents:            Timer_ = Timer
 For Jj = 9999999 To 5200 Step -1
   DVi = Jj Mod 10:              Chuc = (Jj \ 10) Mod 10
   Tram = (Jj \ 100) Mod 10:     Ngan = (Jj \ 1000) Mod 10
   Van = (Jj \ 10 ^ 4) Mod 10:      tNgan = (Jj \ 10 ^ 5) Mod 10
   With [b65500].End(xlUp).Offset(1)
      If Jj - (DVi * 10 ^ 4 + Chuc * 10 ^ 3 + Tram * 100 + Ngan * 10 + Van) = 2601 Then
         .Value = Jj
      ElseIf Jj - (DVi * 10 ^ 5 + Chuc * 10 ^ 4 + Tram * 1000 + Ngan * 100 + _
           Van * 10 + tNgan) = 2601 Then
         .Offset(, 1).Value = Jj
      End If
   End With
 Next Jj
 [D2] = Timer - Timer_
[B]End Sub[/B]
 
Mình có bài toán này, tìm một số (không giới hạn số các chữ số) mà hiệu của số đó với số mà các chữ số được đánh ngược lại là 2.601.
ví dụ số đó 12345 thì số được đánh ngược lại là 54321, hiệu của hai số này là 41.976. bây giờ phải tìm số nào đó không phải là số 12345 để ra được hiệu là 2.601.
Bài này khó thật đấy, có thể có nhiều đáp án, thử tìm cho mình một số thôi cũng tốt rồi!
Mình dùng thử For cho nó chạy từ 10 đến 1.000.000 mà nó cũng "hổng" tìm ra
Thử rất nhiều số đều có kết quả đúng, nhưng chạy đến một triệu mà nó cứ lắc đầu thì mình "tèo", không biết chạy tới "bi" nhiêu mới có kết quả, chạy nhiều quá máy nó cũng "tèo"
Nếu rảnh, bạn thử sửa code cho nó chạy chừng nào chán thì thôi nhé
Mình chỉ tìm một kết quả là số nhỏ nhất thôi nhé
Còn không bỏ số 2601 này đi tìm số khác cho dễ
Các cao thủ đâu hết rồi, vào trợ giúp với
Thân
 

File đính kèm

Với giải thuật trên & hiệu cho trước là 83.952 tôi thu được các đáp án sau khi chạy macro khoảng 222.157 gy như sau:

99951, 99851, . . . 99051, 98941, 98841, . . . 98041, 97931, 97831, . . . . 97031, . . . .
. . . . . . 94001, 89950, 89850,. . . . .84200, 84100, 84000;

Tất cả các số tìm được là 120 con!
 
Lần chỉnh sửa cuối:
Với giải thuật trên & hiệu cho trước là 83.952 tôi thu được các đáp án sau khi chạy macro khoảng 222.157 gy như sau:

99951, 99851, . . . 99051, 98941, 98841, . . . 98041, 97931, 97831, . . . . 97031, . . . .
. . . . . . 94001, 89950, 89850,. . . . .84200, 84100, 84000;
Cũng phải theo Thầy một phát, tìm càng nhiều càng tốt, em cho chạy từ 10 đến 1.000.000, tìm được trên 150 "thằng" thời gian chạy: "rùng mình một cái"
Nhưng hình như dùng For "hổng" hay lắm
 

File đính kèm

Lần chỉnh sửa cuối:
Hình như mình đã tìm ra qui luật của loại số này:

PHP:
 Với hiệu là 83952 ta có 120 cặp thỏa điều kiện

 Với hiệu là 73953 ta có 180 cặp thỏa điều kiện

 Với hiệu là 63954 ta có 240 cặp thỏa điều kiện

Thời gian 3 lần thử là tương đương nhau
(Tiếp theo nên thử 53955, . . . , 13959)
 
Ngay khi anh Tâm gữi bài, em nghĩ ngay đến Solver, vì đây là giải pháp nhanh nhất
Có điều với kết quả cho trước = 2601 thì Solver cũng "bó tay" chứ đừng nói là vòng lập!
 
Ngay khi anh Tâm gữi bài, em nghĩ ngay đến Solver, vì đây là giải pháp nhanh nhất
với 2601 thì Solver cũng "bó tay" chứ đừng nói là vòng lập!

Nhưng với công cụ thô sơ là vòng lặp mình đã tìm ra quy luật đó NDU!
Với 10 triệu số khảo sát, ta không tìm thấy cặp nào cho hiệu là 103950;
Bắt đầu từ 93951 sẽ cho ta 60 cặp & quy luật là cứ tăng chữ số hàng đơn vị lên 1 & giàm hàng vạn đi 1 đơn vị ta sẽ nhận được số cặp thỏa điều kiện là 60 * i
Nhưng mình mới tìm cho đến số 13959 thôi & vẫn đúng luật (Có 540 cặp thỏa)
Mất khoảng 6 fút chờ xong vòng lặp.
NDU thử tiếp xem sao nha, Thanks! (Vì mình chưa dùng solver đến chục lần & quên nó đi rồi!)
 
Nhưng với công cụ thô sơ là vòng lặp mình đã tìm ra quy luật đó NDU!
Với 10 triệu số khảo sát, ta không tìm thấy cặp nào cho hiệu là 103950;
Bắt đầu từ 93951 sẽ cho ta 60 cặp & quy luật là cứ tăng chữ số hàng đơn vị lên 1 & giàm hàng vạn đi 1 đơn vị ta sẽ nhận được số cặp thỏa điều kiện là 60 * i
Nhưng mình mới tìm cho đến số 13959 thôi & vẫn đúng luật (Có 540 cặp thỏa)
Mất khoảng 6 fút chờ xong vòng lặp.
NDU thử tiếp xem sao nha, Thanks! (Vì mình chưa dùng solver đến chục lần & quên nó đi rồi!)
Ý em muốn nói CỤ THỂ đối với số 2601 cơ!
Nói chung, nếu sư phụ dùng vòng lập tìm ra được "cái gì đó" thì solver sẽ tìm nhanh hơn thế
(Em nghĩ cũng có thể tồn tại cặp số này, chỉ e rằng nó vượt quá khả năng tính toán của Excel thôi)
 
To NDU: Hãy quên tạm con số 2601 đi; Chuyển sang dùng solver cho chuỗi mình mới tìm r xem sao:

Quy luật nữa là các hiệu này đều chia hết cho 9;
Vậy sau con số 13959 có thể sẽ là 39510 (mới là fỏng đoán); NDU thử & cho biết kết quả nha!
Chờ quá 6 fút mình cũng oãi rồi! Giúp cái nha! & sẽ trả công vào dịp nào đó có thể, hi, hi,. . . .
 
To NDU: Hãy quên tạm con số 2601 đi; Chuyển sang dùng solver cho chuỗi mình mới tìm r xem sao:

Quy luật nữa là các hiệu này đều chia hết cho 9;
Vậy sau con số 13959 có thể sẽ là 39510 (mới là fỏng đoán); NDU thử & cho biết kết quả nha!
Chờ quá 6 fút mình cũng oãi rồi! Giúp cái nha! & sẽ trả công vào dịp nào đó có thể, hi, hi,. . . .
Trong vòng 1 tỉ số, không tìm thấy cặp số nào cho hiệu = 39510 anh à!
Có lẽ đã vượt khả năng tính toán của Solver rồi
 
Mình có bài toán này, tìm một số (không giới hạn số các chữ số) mà hiệu của số đó với số mà các chữ số được đánh ngược lại là 2.601.
ví dụ số đó 12345 thì số được đánh ngược lại là 54321, hiệu của hai số này là 41.976. bây giờ phải tìm số nào đó không phải là số 12345 để ra được hiệu là 2.601.
Bài này khó thật đấy, có thể có nhiều đáp án, thử tìm cho mình một số thôi cũng tốt rồi!

Với số 2601 thì mọi người đừng mất công tìm nữa, vô ích thôi vì bài toán vô nghiệm. Trình bày chứng minh bài toán vô nghiệm ở đây không thuận lợi nên tôi đã trình bày ở file đính kèm. Xin anh em quan tâm đến đề tài này xem xét thêm. Thân chào cả nhà!
 

File đính kèm

Với số 2601 thì mọi người đừng mất công tìm nữa, vô ích thôi vì bài toán vô nghiệm. Trình bày chứng minh bài toán vô nghiệm ở đây không thuận lợi nên tôi đã trình bày ở file đính kèm. Xin anh em quan tâm đến đề tài này xem xét thêm. Thân chào cả nhà!

Trong bài giải ở tệp đính kèm mình có nhầm một chút, kết luận bài toán vô nghiệm vẫn không thay đổi. Xin mọi người tải tệp đã chỉnh sửa này để tham khảo nếu muốn.
 

File đính kèm

Với số 2601 thì mọi người đừng mất công tìm nữa, vô ích thôi vì bài toán vô nghiệm.Thân chào cả nhà!

Không rõ các bạn & tác giả topic đối xử ra sao với con số không cuối của 1 số;
Vi dụ
Mã:
[B] 1 2 8 9 [COLOR=darkred]0[/COLOR][/B]
 -          
   [B]9 8 2 1[/B]
[B]- - - - - - - - - - - -   [/B]
[B] 3 0 6 9[/B]
 
Chỉnh sửa lần cuối bởi điều hành viên:
Với số 2601 thì mọi người đừng mất công tìm nữa, vô ích thôi vì bài toán vô nghiệm. Trình bày chứng minh bài toán vô nghiệm ở đây không thuận lợi nên tôi đã trình bày ở file đính kèm. Xin anh em quan tâm đến đề tài này xem xét thêm. Thân chào cả nhà!

Mình chưa hiểu cách giải của bạn lắm (cứ gọi tạm là bạn, không biết có thất lễ không nhưng không biết thì không có tội hihi). Nhưng mình lấy ví dụ hiệu của hai số 2628 (một số gần với 2601), vẫn có đáp áp, chẳng hạn 2074 hiệu của 4702 và 2074 là 2628.
 
Mình chưa hiểu cách giải của bạn lắm (cứ gọi tạm là bạn, không biết có thất lễ không nhưng không biết thì không có tội hihi). Nhưng mình lấy ví dụ hiệu của hai số 2628 (một số gần với 2601), vẫn có đáp áp, chẳng hạn 2074 hiệu của 4702 và 2074 là 2628.

Không sao đâu bạn. Chúng ta tham gia diễn đàn để giao lưu và học hỏi, gọi nhau là bạn thôi, chừng nào gặp mặt nhau ngoài đời thì lại là chuyện khác.

Có rất nhiều số là hiệu của 2 số viết ngược thứ tự các chữ số của nhau. ví dụ ta lấy số 8915 chẳng hạn, số viết ngược thứ tự các chữ số của nó là 5198 và hiệu của chúng là 3717. Như vậy với số 3717 thì có đáp số. Nhưng không phải bất cứ số nào cũng cho ra đáp số đâu và số 2601 là một ví dụ. Đây chính là một bài toán toán học và cách giải của mình cũng là cách giải toán học. Bạn xem kĩ lại lời giải là sẽ hiểu thôi, lí luận ở lời giải không đụng chạm gì đến kiến thức và lí luận cao siêu của toán học cả, chỉ cần biết qui tắc trừ 2 số tự nhiên là hiểu được.
Thân!
 
Trong bài giải ở tệp đính kèm mình có nhầm một chút, kết luận bài toán vô nghiệm vẫn không thay đổi. Xin mọi người tải tệp đã chỉnh sửa này để tham khảo nếu muốn.

Theo mình bài này chỉ cần sử dụng kiến thức môn SỐ Học (lớp 6) để giải. Mònh đã làm thử và cũng cho thấy nếu kết quả là 2601 thì bài toán vô nghiệm.
 
Web KT

Bài viết mới nhất

Back
Top Bottom