Nguồn đề bài: http://www.spoj.com/PTIT/problems/BCCOM/
1. Đề bài BCCOM spoj PTIT
Ta gọi phép nén một số nguyên là tính tổng các chữ số của nó. Dễ thấy, sau một số phép nén, thì số còn lại chỉ có một chữ số và ko nén được nữa. Ta gọi số đó là số nén tối giản.
Ví dụ cho số 86. Sau phép nén thứ nhất ta đk: 8+6=14. Sau phép nén thứ 2: 1+4=5 => Số nén tối giản của 86 là 5.
Cho một số nguyên hãy tìm số nén tối giản của nó.
Input
Dòng đầu chứa số bộ test.
Mỗi dòng tiếp theo chứa 1 bộ test gồm 1 số nguyên dương. (<=10^9)
Mỗi dòng
Output
Mỗi dòng một số nén tối giản tương ứng.
Example
Input:
3
43
111
57871
Output:
7
3
1
2. Hướng dẫn BCCOM spoj PTIT
– Kết quả là tổng các chữ số mod 9, nếu bằng 0 thì xuất 9.
3. code tham khảo BCCOM spoj PTIT
const fi=''; nmax=1000000000; type data=longint; var f:text; n:string; test:data; procedure xuli; var i,s:data; begin s:=0; for i:=1 to length(n) do s:=s+ord(n[i])-48; s:=s mod 9; if s<>0 then writeln(s) else writeln(9); end; procedure nhap; var i:data; begin assign(f,fi); reset(f); readln(f,test); for i:=1 to test do begin readln(f,n); xuli; end; end; begin nhap; end.
Tại sao lại mod ra được kết quả vậy ạ?