7-1 Forever
A 和 A + 1 肯定是互质的,因此A必然以 9 结尾。然后找规律: 末尾一个9, m 与 n 相差 8; 末尾两个9, m 与 n 相差 17; 可得 m - n + 1 为 9 的倍数,从而可以较快遍历找到 n, 找到 n 后,根据倍数可以知道末尾 9 的个数,对 A 头部非 9 的部分进行遍历,快速得到 A; # include <iostream> # include <cmath> # include <vector> # include <algorithm> using namespace std ; struct node { int A , m , n ; } ; bool cmp ( node a , node b ) { return a . n != b . n ? a . n < b . n : a . A < b . A ; } int gcd ( int a , int b ) { return b == 0 ? a : gcd ( b , a % b ) ; } bool isprime ( int n ) { if ( n <= 1 ) return false ; for ( int i = 2 ; i <= sqrt ( n ) ; i ++ ) { if ( n % i == 0 ) return false ; } return true