·ÖÊý²ð·Ö

2014-11-24 13:23:12 ¡¤ ×÷Õß: ¡¤ ä¯ÀÀ: 30
#include
  
   
#include
   
     using namespace std; int main() { int N; cin>>N; while(N--) { int k,m,n; cin>>k; for(m=k+1;m<=2*k;m++) { if(k*m%(m-k)==0) { n=k*m/(m-k); printf("1/%d=1/%d+1/%d \n",k,n,m); } } } }
   
  
Êýѧ·ÖÎö¡£
1)	ÎÒÃǼÙÉè m <= n £¬ÒòΪ k ±ØÈ»Ð¡ÓÚ m ºÍ n £¬ÔòÓÐ k < m <= n 
2) 	1/k=1/m+1/n ת»»Îª n µÄµÈʽ£¬Îª  n = km/(m-k)
3)	k ΪÊäÈ룬ÊÇÒÑÖªÊý¡£ÎÒÃÇҪö¾Ù m À´»ñµÃ n ¡£
	ÒòΪ k < m <= n £¬Ò²¾ÍÊÇ k < m <= km/(m-k) £¬½âµÃ k < m <= 2k ¡£
4£©	Òò´ËÎÒÃdzÌÐòÒª×öµÄ¾ÍÊÇ£º
		ö¾Ù m µÄֵΪ [k+1,2k] µÄÒ»¸ö¡¾ÕûÊý¡¿£¬n = km/(m-k) 
		¿´ÊÇ·ñÄܵõ½¡¾ÕûÊý½â n¡¿