BCCOMMAS PTIT – Chèn dấu phẩy

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.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *