gcd(a,b)=g
a=k1 g , b=k2 g
且gcd(k1,k2)=1
gcd(a,b)max就要是n/(k1+k2)最大
得k1=1,k2=2
即k1*2=k2
#include <iostream> using namespace std; int t,n; int main(int argc, char** argv) { cin>>t; for(int k=1;k<=t;k++){ scanf("%d",&n); if(n==3) printf("Case %d: 2 3\n",k); else printf("Case %d: %d %d\n",k,n/2,n/2*2); } return 0; }