Nguồn đề bài: http://www.spoj.com/PTIT/problems/BCSRETAN/
Nội dung bài viết
1. Đề bài BCSRETAN spoj PTIT
Chí Phèo thời IT rất yêu thích các số may mắn. Số may mắn là số mà chỉ chứa các chữ số may mắn (có hai chữ số may mắn là 4 và 7) trong biểu diễn thập phân. Các số may mắn sắp xếp tăng dần tạo thành dãy số may mắn. Một số số hạng đầu tiên của dãy số may mắn là: 4,7,44,47,74,77,… Biết Chí có niềm yêu thích như vậy, Thị Nở liền đố Chí tìm số may mắn thứ K trong dãy. Bài toán thực sự hóc búa với Chí, bạn hãy giúp anh Chí câu hỏi này nhé !
Input
Một số nguyên K duy nhất (1≤K≤109)
Output
Số may mắn thứ K trong dãy số may mắn.
Example
Input:
1
Output:
4
Input:
3
Output:
44
2. Hướng dẫn BCSRETAN spoj PTIT
Nếu bạn để ý thì sẽ dễ dàng nhận ra dãy số 4,7,44,47,74,77,… chính là dãy nhị phân. như vậy bạn chỉ cần sinh dãy nhị phân là được
3. Code tham khảo BCSRETAN spoj PTIT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | const fi=''; nmax=1000000000; A:array[1..2] of byte=(4,7); type data=longint; var f:text; k,n:data; kq:array[0..30] of data; spt:data; procedure xuli; var i:data; begin k:=k+1; spt:=0; while k<>0 do begin inc(spt); kq[spt]:=k mod 2; k:=k div 2; end; for i:=spt-1 downto 1 do if kq[i]=0 then write(4) else write(7); end; begin assign(f,fi); reset(f); readln(f,k); close(f); xuli; end. |
Bài viết liên quan
- P151SUMB spoj PTIT – ROUND 1B – Đong gạo
- BCACM11G spoj PTIT – Dãy con tăng dần tự nhiên bậc K
- PTIT122F spoj PTIT – Số siêu tự nhiên
- P144PROC spoj PTIT – ROUND 4C – Lũy thừa
- P132SUMJ spoj PTIT – SUM2 J – Hoán vị chữ số
- BCCOW spoj PTIT – Đi xem phim
- P134SUMG PTIT spoj – SUM4 G – Gia vị
- BCPERMU PTIT spoj – Liệt kê hoán vị (Cơ bản)
- P167PROE spoj PTIT – ROUND 7E – Phương trình
- PTIT016E spoj PTIT – ACM PTIT 2016 E – Kỳ thi ACM/ICPC