Bài toán hay: Tính thời điểm đủ 730 ngày trong vòng 5 năm liên tục.

Liên hệ QC
Cái này tính theo quốc gia nào cụ thể
haha em nghĩ 4 tiếng rồi chưa ra..
Hôm qua làm bài về Sum theo Phân đoạn, nay có chút thời gian rảnh rang chơi với anh em nè!
Dòm thấy anh @HieuCD giải bài mà thấy "ngẩn ngơ", lại chơi vòng lặp nữa chứ! :<>

Anh thì cũng giống em nhìn vào thấy "lạc lõng" vì không biết bắt đầu lấy mốc tính từ đâu, nên tự lập luận như sau:
  1. Do kết cấu dữ liệu thời gian sắp từ thời gian gần nhất ở trên, rồi lùi xuống cho thời gian xa hơn. Do vậy, nếu cộng lũy kế các ngày này sẽ có số tăng dần. Rồi lấy 730 trừ số Lũy kế theo các đoạn thời gian sẽ ra số ngày cần ở để đủ 730.
  2. Lấy các Mốc ngày đến đều tính ra "Ngày" của 5 năm sau. Rồi lấy "Ngày vừa tính ra" trừ "Ngày hôm nay (+1)" để biết còn bao nhiêu ngày còn có thể ở đến cán mốc 5 năm.
  3. Nếu Mốc thời gian Lũy kế nào thỏa điều kiện (2.) mà lớn hơn (1.) thì lấy nó ra + Số ngày hôm nay thì ra ngày tương lai.
Tuy nhiên, như bài #21 có nêu thì...hi..hi.. còn phải xem lại nhiều.
Gửi cách làm để anh em "ném đá" cho vui.

Chúc anh em ngày vui.

Thân
 

File đính kèm

  • 730NgàyMáuLửa.xlsx
    14.5 KB · Đọc: 22
Ví dụ trường hợp đến Germany ngày cách ngày hôm nay đúng 5 năm và lưu trú đúng 728 ngày.

Để đạt 730 ngày trong vòng 5 năm, người này phải ở thêm 730 ngày!

Thú vị ở chỗ kết quả giống người chưa đến Germany ngày nào. :yahoo:
 
Lần chỉnh sửa cuối:
Cách tiếp cận của @Phan Thế Hiệp rất hay. Tôi thì đi theo một hướng khác.
  • Tính số ngày đã ở trong 5 năm gần nhất (X)
  • Tính số ngày còn thiếu để đủ 730 ngày (Y = 730 - X)
  • Tạo mảng cộng dồn các ngày không thỏa điều kiện kể từ ngày cách ngày hôm nay 5 năm (Mảng A)
  • Xác định vị trí số Y trên mảng A (Z). Z có ý nghĩa là tổng số ngày cần ở thêm từ ngày hôm nay để đủ điều kiện, Z bao gồm số ngày còn thiếu (X) và số ngày phải bù do dời từ mốc 5 năm trước của ngày hôm nay đến mốc 5 năm trước của ngày đủ điều kiện.
  • Ngày đủ điều kiện là ngày hôm nay + Z
Riêng trường hợp ở bài #21 thì tôi tách riêng ra một công thức.
  • Xác định ngày đến mà trong vòng 5 năm kể từ ngày đó đã ở được >= 730 ngày (Ngày X)
  • Xác định vị trí của số 730 trên mảng cộng dồn các ngày thỏa điều kiện kể từ ngày X (Y)
  • Ngày đủ điều kiện là X + Y
Cảm ơn tất cả mọi người đã tham gia mổ sẻ một bài toán khá thú vị.
 

File đính kèm

  • 730 ngay.xlsx
    17.6 KB · Đọc: 21
Thức sớm gặp ngay bài này mất thời gian thật bỏ luôn cả ăn sáng, góp vui chút với anh em:
- Tính mốc thời gian tương lai của ngày đến 5 năm rồi so với 730 ngày, ngày nào gần nhất thì lấy , dùng cột phụ, có thể bỏ cột phụ công thức sẽ dài hơn tý, mượn file bạn HieuCD.
 

File đính kèm

  • Ngay730_HieuCD.xlsx
    13.6 KB · Đọc: 22
Cách tiếp cận của @Phan Thế Hiệp rất hay. Tôi thì đi theo một hướng khác.
  • Tính số ngày đã ở trong 5 năm gần nhất (X)
  • Tính số ngày còn thiếu để đủ 730 ngày (Y = 730 - X)
  • Tạo mảng cộng dồn các ngày không thỏa điều kiện kể từ ngày cách ngày hôm nay 5 năm (Mảng A)
  • Xác định vị trí số Y trên mảng A (Z). Z có ý nghĩa là tổng số ngày cần ở thêm từ ngày hôm nay để đủ điều kiện, Z bao gồm số ngày còn thiếu (X) và số ngày phải bù do dời từ mốc 5 năm trước của ngày hôm nay đến mốc 5 năm trước của ngày đủ điều kiện.
  • Ngày đủ điều kiện là ngày hôm nay + Z
Riêng trường hợp ở bài #21 thì tôi tách riêng ra một công thức.
  • Xác định ngày đến mà trong vòng 5 năm kể từ ngày đó đã ở được >= 730 ngày (Ngày X)
  • Xác định vị trí của số 730 trên mảng cộng dồn các ngày thỏa điều kiện kể từ ngày X (Y)
  • Ngày đủ điều kiện là X + Y
Cảm ơn tất cả mọi người đã tham gia mổ sẻ một bài toán khá thú vị.
Tôi thử today là ngày 22/5/2019 thì kết quả file của bạn là canada : 19/02/2021 file của tôi ra 03/01/2021 cả 2 kết quả này đều đúng, tuy nhiên ngày nhập cư hợp lý sẽ là ngày gần với hiện tại nhất, bạn có ý kiến gì chỗ này không?
 
Tôi thử today là ngày 22/5/2019 thì kết quả file của bạn là canada : 19/02/2021 file của tôi ra 03/01/2021 cả 2 kết quả này đều đúng, tuy nhiên ngày nhập cư hợp lý sẽ là ngày gần với hiện tại nhất, bạn có ý kiến gì chỗ này không?
Đương nhiên kết quả đúng là kết quả gần với ngày hiện tại nhất. Có thể công thức của tôi cần phải sửa lại nhưng hiện tại tôi chưa kiểm tra được.
 
File của bạn bị vòng lặp. Theo mình đã tính rõ ràng theo ngày thì không cần dùng Edate.
Vậy giải thuật của bạn như thế nào? bạn có thể góp vui với anh em bằng file của mình gửi anh em xem, như các anh em trên, được không!?

Thân
 
Web KT
Back
Top Bottom