电子商务毕业设计设计网站建设,支部品牌建设,做网站找华企,上海大都会app官网下载循环的数字
题目描述
你曾经因为看见一样的东西一遍又一遍地重复、循环而对电视节目感到厌烦么#xff1f;好吧#xff0c;虽然我并不关心电视节目的好坏#xff0c;不过有时却也很像那样不断循环的数字。
让我们假定两个不同的正整数 ( n , m ) (n, m) (n,m) 是循环的好吧虽然我并不关心电视节目的好坏不过有时却也很像那样不断循环的数字。
让我们假定两个不同的正整数 ( n , m ) (n, m) (n,m) 是循环的当且仅当你能通过将 n n n 末端的几个数字移到它的首端而不改变移动的数字的顺序并使整个数字变成 m m m 。举个例子 ( 12345 , 34512 ) (12345, 34512) (12345,34512) 就是一对循环的数字因为你能把 12345 12345 12345 中末尾的 345 345 345 移到 12 12 12 前面从而得到 34512 34512 34512。注意为了成为一对循环的数字 n n n 和 m m m 位数必须相同。无论 n n n 或 m m m 都没有前置的 0 0 0。
现在给定正整数 A A A 和 B B B并保证 A A A 和 B B B 位数相同且均没有前置 0 0 0求存在多少循环的正整数对 ( n , m ) (n, m) (n,m)使得 A ≤ n ≤ m ≤ B A \leq n \le m \leq B A≤n≤m≤B
输入格式
本题有共有 10 10 10 个测试点。 每个输入文件包含 1 1 1 行。 第 1 1 1 行有两个用空格隔开的正整数 A A A 和 B B B。
输出格式
每个输出文件应包含一个正整数 x x x表示共有 x x x 组循环的正整数对 ( n , m ) (n,m) (n,m) 使得 A ≤ n ≤ m ≤ B A \leq n \le m \leq B A≤n≤m≤B。
样例 #1
样例输入 #1
1111 2222样例输出 #1
287提示 1 ≤ A , B ≤ 2 × 1 0 6 1\le A,B \leq 2\times 10^6 1≤A,B≤2×106。
#includeiostream
#includealgorithm
#includestring
using namespace std;
int main()
{int a,b;cinab;int k0,xa;int p[7]{1,10,100,1000,10000,100000,1000000};while(x)//算a有多少位(题目保证ab位数相同) {x/10;k;}long long cnt0;for(int ia;ib;i)//在ab范围内找符合条件的循环数对就行了 {int ni;//令i等于n int m(n%10)*p[k-1]n/10;//m等于移动末尾一位到首位的数 while(n!m)//这个时候n是不等于m的但是由于m是经过n移位变来的//所以m再多变几次一定能变回n {if(nmmb)//所以只要m在n~b因为题目要求AnmB范围内就可以和n组队 {cnt;}m(m%10)*p[k-1]m/10;//枚举m的几种情况这个m是一定能变回n的因为他就是n变来的//但是每种m的情况只要满足在n~b范围就可以计数 }}coutcnt;return 0;
}