hd 2092 整數解

整數解

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 20680    Accepted Submission(s): 7238


Problem Description
有二個整數,它們加起來等於某個整數,乘起來又等於另一個整數,它們到底是真還是假,也就是這種整數到底存不存在,實在有點吃不準,你能快速回答嗎?看來只能通過編程。
例如:
x + y = 9,x * y = 15 ? 找不到這樣的整數x和y
1+4=5,1*4=4,所以,加起來等於5,乘起來等於4的二個整數爲1和4
7+(-8)=-1,7*(-8)=-56,所以,加起來等於-1,乘起來等於-56的二個整數爲7和-8
 


 

Input
輸入數據爲成對出現的整數n,m(-10000<n,m<10000),它們分別表示整數的和與積,如果兩者都爲0,則輸入結束。
 


 

Output
只需要對於每個n和m,輸出“Yes”或者“No”,明確有還是沒有這種整數就行了。
 


 

Sample Input
9 15 5 4 1 -56 0 0
 


 

Sample Output
No Yes Yes
 


 

Author
qianneng
 


 

Source
 


 

Recommend
lcy   |   We have carefully selected several similar problems for you:  2093 2078 2085 2098 2087 
 


 

 

#include<stdio.h>
int main()
{
    int n,m,i,j,p;
    while(scanf("%d%d",&n,&m)!=EOF&&(m!=0||n!=0))
    {
      j=0;
      if(m<0)
      { 
      m=-m;
      j=1;
      } 
      for(i=-m;i<=m;i++)
      {
        p=0;
        if(i==0)
        continue;
        else if(m%i!=0)
        continue;
        else 
        {
        if((m/i+i==n&&j==0)||(-m/i+i==n&&j==1))
        {
        p=1;
        break;
        }
        }
        } 
        if(p)
        printf("Yes\n");
        else
        printf("No\n"); 
      
             
        

                                                 }
return 0;    
}
//無符號數怎麼來確定他的循環限制條件 如果用-10000到10000for循環應該會超時 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章