您的位置:首页 > 其它

【NOIP2012模拟10.20】友好数对

2016-09-16 20:26 399 查看
Description

如果一个数a 能由一个数b 旋转得到,那么我们称<a,b>为友好数对,如12345 和45123
为友好数对,12345 和54321 不为友好数对。给出两个正整数L,R,求有多少友好数对<a,b>,满足    L<=a<b<=R。


Input

第一行一个整数T,表示数据组数,每组数据两个正整数L,R。


Output

对于每组数据,输出一个整数表示答案。


题解

暴力每一个数,判断这个数有多少个友好数列。


代码

const
d:array [1..7] of longint=(10,100,1000,10000,100000,1000000,10000000);
var
n,m,t,ans:longint;
procedure main;
var
i,t,l,ll:longint;
s:string;
begin
if n<10 then n:=10;
str(n,s);
l:=length(s);
ans:=0;
for i:=n to m do
begin
ll:=l;
t:=(i mod d[l-1])*10+i div d[l-1];
while (t<>i) and (ll>0) do
begin
if (t>=n) and (t<=m) then inc(ans);
t:=(t mod d[l-1])*10+t div d[l-1];
dec(ll);
end;
end;
end;

begin
readln(t);
while t>0 do
begin
dec(t);
readln(n,m);
main;
writeln(ans div 2);
end;
end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息