NKNUMFRE spoj – Số thân thiện
Nguồn đề bài: http://vn.spoj.com/problems/NKNUMFRE/ 1. Đề bài NKNUMFRE spoj Số tự nhiên có rất nhiều tính chất thú vị. Ví dụ với số 23, số đảo ngược của nó là 32. Hai số này có ước chung lớn nhất là 1. Những số như thế được gọi là số thân thiện, tức là số 23 được gọi là số thân ...
Nguồn đề bài: http://vn.spoj.com/problems/NKNUMFRE/
1. Đề bài NKNUMFRE spoj
Số tự nhiên có rất nhiều tính chất thú vị. Ví dụ với số 23, số đảo ngược của nó là 32. Hai số này có ước chung lớn nhất là 1. Những số như thế được gọi là số thân thiện, tức là số 23 được gọi là số thân thiện, số 32 cũng được gọi là số thân thiện.
Hãy nhập vào 2 số nguyên a,b (10≤a≤b≤30000). Hãy đếm xem trong khoảng từ a đến b (kể cả a và b) có bao nhiêu số thân thiện.
Dữ liệu
Bao gồm một dòng chứa 2 số a,b. Hai số được cách nhau bằng một khoảng trắng
Kết quả
Bao gồm một dòng là kết quả của bài toán.
Ví dụ
1 2 3 4 5 | Dữ liệu 20 30 Kết quả 3 |
bài này khá đơn giản, đọc code sẽ hiểu ngay
2. code tham khảo NKNUMFRE spoj
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 38 39 40 41 42 43 44 45 | program bt; var a,b:word; function UCLN(a,b:longint):word; var r:word; begin while a mod b <>0 do begin r:=a mod b; a:=b; b:=r; end; exit(b); end; function sodao(n:word):longint; var tam:longint; begin tam:=0; while N<>0 do begin tam:=tam*10 + (n mod 10); n:=n div 10; end; exit(tam); end; procedure xuli; var i:word; s:int64; begin s:=0; for i:=a to b do if ucln(i,sodao(i))=1 then inc(s); writeln(s); end; begin readln(a,b); xuli; end. |