Maximum GCD:
题目大意:(文末有原题)
求1~n中任意两个数的最大公因数的最大值;
思路:
如果n是偶数 max = n / 2;
如果n是奇数 max = (n - 1) / 2;
代码:
#include <iostream> #include <algorithm> using namespace std; int main() { int t; cin >> t; while(t--) { int n; cin >> n; cout << n / 2 << endl; } return 0; }
原题:
题目:
Let's consider all integers in the range from 1 to n (inclusive).
Among all pairs of distinct integers in this range, find the maximum possible greatest common divisor of integers in pair. Formally, find the maximum value of gcd(a,b), where 1≤a<b≤n.
The greatest common divisor, gcd(a,b), of two positive integers aa and bb is the biggest integer that is a divisor of both a and b.
输入:
The first line contains a single integer t (1≤t≤100) — the number of test cases. The description of the test cases follows.
The only line of each test case contains a single integer n (2≤n≤10^6).
输出:
For each test case, output the maximum value of gcd(a,b) among all 1≤a<b≤n.
样例:
Input: Output:
2
3 --------------------- 1
5 --------------------- 2