Nguồn đề bài: http://www.spoj.com/PTIT/problems/BCCOMMAS/
1. Đề bài BCCOMMAS PTIT
Bessie làm việc với các số lớn N (1 <= N <= 2,000,000,000) như 153920529
và nhận ra rằng sẽ dễ dàng đọc hơn với các dấu phẩy được chèn vào mỗi 3
chữ số. Do đó, cô muốn để thêm dấu phẩy: 153,920,529 . Hãy viết chương trình
giúp cô thực hiện việc đó.
INPUT FORMAT:
* Dòng 1: 1 số nguyên: N
SAMPLE INPUT :
153920529
OUTPUT FORMAT:
* Dòng 1: Số nguyên N với các dấu phẩy chèn vào trước mỗi bộ 3 chữ số từ phải qua trái, ngoại trừ chữ số đầu tiên.
SAMPLE OUTPUT :
153,920,529
Hướng dẫn:
– Bài này khá dễ dàng, duyệt ngược xâu nếu số chữ số đã duyệt chia hết cho 3 thì chèn dấu phẩy vào. không cần phải suy nghĩ ở đầu có dấu phẩy hay không. sau khi duyệt xong kiểm tra phần tử đầu tiên trong xâu vừa chèn có phải là dấu phẩy hay ko? nếu nó là dấu phẩy thì xóa dấu phẩy.
– Ngoài ra bài này bạn còn có thể dùng stack để ứng dụng
2. code tham khảo BCCOMMAS PTIT
const fi=''; type data=longint; var f:text; s:string; i:data; dem:data=0; res:string; begin res:=''; assign(f,fi); reset(f); readln(f,s); close(f); for i:=length(s) downto 1 do if (length(s)-i+1) mod 3=0 then res:=','+s[i]+res else res:=s[i]+res; if res[1]=',' then delete(res,1,1); writeln(res); end.