网站建设怎么推广,福州搜索排名提升,郑州免费网络推广,湖南服装网站建设题意#xff1a;给定一个正整数n#xff0c;求正整数的区间[l#xff0c;r]的最大大小#xff0c;使得对于区间中的每个i#xff08;即l≤i≤r#xff09;#xff0c;n是i的倍数。给定两个整数l≤r#xff0c;区间[l#xff0c;r]的大小为r−l1#xff08;即#xf…题意给定一个正整数n求正整数的区间[lr]的最大大小使得对于区间中的每个i即l≤i≤rn是i的倍数。给定两个整数l≤r区间[lr]的大小为r−l1即它与属于区间的整数数量一致。
输入第一行包含单个整数t1≤t≤10^4--测试用例的数量。每个测试用例描述的唯一一行包含一个整数nn1≤n≤10^18。
输出对于每个测试用例打印单个整数有效间隔的最大大小。
输入样例: 10 1 40 990990 4204474560 169958913706572972 365988220345828080 387701719537826430 620196883578129853 864802341280805662 1000000000000000000 输出样例 1
2
3
6
4
22
3
1
2
2 思路若n的长度为len 在[l,r]区间中总能找到一个数x 使得 x%len0 (不知道怎么推的 并且 n%x0 故 n%len0 n%(len,len-1,len-2,len-3.......3,2,1)0
#includeiostream
using namespace std;
typedef long long ll;
int main()
{int t;cint;while(t--){ll n;cinn;int i1;while(n%i0) i;couti-1endl;}return 0;
}