01/10/2018, 12:12

[Halloween] I challenge DNH to

Lần trước post bài quên coi giờ hoàng đạo nên không được đông cho lắm :3
Nay gần Halloween nên mình mở cái nữa cho xôm

Chiều nay mình sẽ đi dò xổ số và muốn nhờ các bạn giúp mình chuyện này.
Kết quả sẽ là một số gồm 9 chữ số và để dễ cho người chơi dò kết quả họ đã sắp xếp các chữ số đó từ nhỏ đến lớn. Giống như vậy nè.

Nhưng xui xẻo là tờ vé số của mình thì mấy chữ số nó cứ lộn tùng phèo lên khiến mình khó dò kết quả được. Lỡ đâu mình trúng số mà dò sai, thiệt hại lên đến hàng tỉ đồng thì tiếc lắm.
Các bạn có giải pháp gì không?
Đây là tờ của mình

Bonus 1: Tính mình không thích cái gì đó lằng nhằng nên cũng không thích dùng các lệnh swap, tức là không dùng các hàm sắp xếp có swap.
Bonus 2: Mình cũng ghét mảng/con trỏ lắm, vì nó phức tạp quá.

###UPDATE - Đề ngắn gọn:
Sắp xếp các chữ số trong 1 số. (từ 0-9)
Số này tối đa 9 chữ số

###Note:

  • Không giới hạn ngôn ngữ
  • Bonus là tùy chọn, không bắt buộc

Test Case
https://ideone.com/cBF9P2

###DEADLY CHALLENGE: ĐỌC KỸ TRƯỚC KHI THAM GIA DEADLY CHALLENGE

  • Deadly Challenge là phần khó của challenge này nhằm tăng thêm tính “chết chóc” cho hợp với không khí Halloween
  • Người tham gia Deadly Challenge sẽ được mình PM đưa link được post ẩn chứa câu hỏi bonus
  • Nếu muốn tham gia chỉ cần tick vào poll ở phía dưới
  • Khi tham gia, nếu không hoàn thành sẽ bị ban 1 ngày
  • Bạn không bị ép buộc tham gia phần này
  • Mình muốn tham gia Deadly Challenge
  • Mình rất muốn tham gia Deadly Challenge

0 voters

Cảm ơn @thanhtrung2314 giúp mình viết đề :3
Cảm ơn @MeigyokuThmn nhắc nhở về việc post challenge giờ “thiêng” :v

Happy Halloween!

明玉 viết 14:12 ngày 01/10/2018

Ơ thế rốt cuộc nguyên tắc trúng số là gì, cách dò số nữa?

*grab popcorn* viết 14:12 ngày 01/10/2018

Đề ngắn gọn :v
Sắp xếp các chữ số trong 1 số.
Số này tối đa 9 chữ số

明玉 viết 14:23 ngày 01/10/2018

Có số 0 không nhỉ, hay chỉ từ 1 → 9 thôi ?

HK boy viết 14:14 ngày 01/10/2018
  • Chữ số 0 ở đầu có được tính là số hợp lệ không? Kiểu như 0123 ấy.
  • Nộp bài ở đâu thế?
  • [quote=“drgnz, post:1, topic:57185”]
    Khi tham gia, nếu không hoàn thành sẽ bị ban 1 ngày
    [/quote]

Oops

Gió viết 14:13 ngày 01/10/2018

code = python

for j in range(9):
    for i in range(9):
        a = n%pow(10,i+1)//pow(10,i)
        b = n%pow(10,i+2)//pow(10,i+1)
        if a<b:
            n+=9*(a-b)*pow(10,i)
*grab popcorn* viết 14:20 ngày 01/10/2018

Số input sẽ không tính số 0 đầu.
Nhưng khi in ra thì vẫn tính số 0 ở đầu.
Vd: 2017 -> 0127

À cứ comment code làm vô post luôn nhé.

X viết 14:22 ngày 01/10/2018

Số input sẽ không tính số 0 đầu.
Nhưng khi in ra thì vẫn tính số 0 ở đầu.
Vd: 2017 -> 0127

Chơi lầy dòng cuối luôn chứ sao giờ…

*grab popcorn* viết 14:22 ngày 01/10/2018

Xin lỗi mọi người ;_;
Ẩu quá quên testcase.

Mình update rồi nhé.

Còn ai tham gia deadly challenge check inbox diễn đàn nhé

Nguyễn Duy Hùng viết 14:13 ngày 01/10/2018

;’( vậy có đúng hong ta
Java

int[] digits = new int[10];
while(n > 0){
    digits[n%10]++;
    n/=10;
}
String res = "";
for(int i = 0; i < 10; i++){
    for(int j = 0; j < digits[i]; j++){
        res += i + "";
    }
}
System.out.println(res);
*grab popcorn* viết 14:19 ngày 01/10/2018

thử nhập n = 0 xem OvO

明玉 viết 14:16 ngày 01/10/2018

Đủ được 2 bonus nhé.

function sort(number) {
   // ngầm định số không có số 0 ở bên trái, số đúng chuẩn
   if (number == 0) return 0;
   let x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, i = 0, a;
   while (i <= 9) { eval(`x${i} = 0`); i++}
   while (number != 0) {
      eval(`x${number % 10}++`);
      number = Math.floor(number / 10);
   }
   i = 0; number = 0; a = 1;
   while (i <= 9) {
      if (eval(`x${i}--`) == 0) { i++; continue; }
      number = number * 10 + i;
   }
   return number;
}
Quang Minh viết 14:25 ngày 01/10/2018

Quicksort??
20character

*grab popcorn* viết 14:21 ngày 01/10/2018

Sai mất trường hợp 100000000 rồ

Quicksort??
20character

Bạn code thử xem

明玉 viết 14:13 ngày 01/10/2018

Ok sửa nè

function sort(number) {
   // ngầm định số không có số 0 ở bên trái, số đúng chuẩn
   if (number == 0) return '0';
   let x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, i = 0, a;
   while (i <= 9) { eval(`x${i} = 0`); i++}
   while (number != 0) {
      eval(`x${number % 10}++`);
      number = Math.floor(number / 10);
   }
   i = 0; number = ""; a = 1;
   while (i <= 9) {
      if (eval(`x${i}--`) == 0) { i++; continue; }
      number += i.toString();
   }
   return number;
}
Quang Minh viết 14:23 ngày 01/10/2018

hì hì :)) nói thế chứ e đọc đề rồi :)) không dùng mảng :)) vào đây xem các bác tranh tài thôi ::)))

Đỗ Nhiên viết 14:12 ngày 01/10/2018

con gái mà cũng chơi đề á nghe lạ lạ

HK boy viết 14:25 ngày 01/10/2018

Không biết có ai bị ban không nhỉ :v @drgnz có công bố kết quả Deadly Challenge không?

con gái mà cũng chơi đề á nghe lạ lạ

Cứ có là chơi thôi chứ có gì mà lạ :3

*grab popcorn* viết 14:14 ngày 01/10/2018

Không biết có ai bị ban không nhỉ :v @drgnz có công bố kết quả Deadly Challenge không?

Có chứ.
Mình sẽ list lại topic kia kèm danh sách bị ban.

Tuấn Nguyễn viết 14:15 ngày 01/10/2018

Hỏi dại, nếu ko giải được bonus 3 thì bị ban đúng 1 ngày xong vào bình thường à.

HK boy viết 14:19 ngày 01/10/2018

Yes.

Sắp đến 31/10 rồi, lo làm đi

Bài liên quan
0