Codeforces Round #651 (Div. 2) 參與排名人數14559
[codeforces 1370A] Maximum GCD 找n/2的值
總目錄詳見https://blog.csdn.net/mrcrack/article/details/103564004
在線測評地址https://codeforces.com/contest/1370/problem/A
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
A - Maximum GCD | GNU C++17 | Accepted | 15 ms | 200 KB |
題目大意:在區間[1,n]任選不相等的兩個數a,b,求出這兩數的最大公約數。涉及到多種選法,要求對應的最大公約數,在所有選法中對應的值最大,輸出這個最大值。
第一發WA,想歪了,比賽中,向歪了的思路是很難糾正的,找一些數據來扭正思路是很關鍵
n=99
99可選出GCD(9,99)=9,GCD(11,99)=9
99中可選出GCD(49,98)=49,此時對應最大值49
n=100
100中可選出GCD(50,100)=50,此時對應最大值50
上述數據出來後,發現開竅了,思路扭了過來,AC代碼如下:
#include <stdio.h>
void solve(){
int n;
scanf("%d",&n);
if(n%2)n--;//化奇數爲偶數
printf("%d\n",n/2);//偶數的一半
}
int main(){
int t;
scanf("%d",&t);
while(t--)solve();
return 0;
}